-
Data: 2014-04-04 10:48:27
Temat: Re: PIC vs AVR
Od: Sylwester Łazar <i...@a...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]> Proszę o jakieś opinie.
>
> Pozdrawiam
> jp
Wydaje mi się, że praca z kompilatorem (C czy czymkolwiek w przyszości, co
też nie będzie spójne),
jest jak praca z drugim programistą.
Toż przecież kompilator też napisał człowiek.
Wygląda mi na to, że decydując się na C, zgadzasz się jak gdyby na pracę w
grupie.
I naturalnym będzie, że są różnice w wizji - jak to ma działać.
Inny kompilator - inny programista.
Zmieniając kompilator, to tak jakbyś zmieniał współpracownika.
Nowy może być lepszy, ale te "docieranie".
Dlatego bardzo rozsądne wydaje mi się to co robi MAREK:
"nie zmieniam kompilatora używanego latami,
przetestowanego na wszelkie możliwe sposoby i działającego prawidłowo
(C18} nagle na inny (XC8)"
Zna jego wady i zalety i pracuje mu się z nim skutecznie.
Jeśli chodzi o Microchip, to sytuacja jest wydaje mi się jeszcze gorsza.
np. z ostatnich dni.
Chciałem sobie zrobić sortowanie napięć.
Bąbelkowe - najprostrze, ale nie wypada, bo niemal prawie najgorsze z
możliwych.
No to quic sort.
Fajnie. Biorę C32 i jest piękna funkcja qsort() w bibliotece. Ale ja mam
18F.
W C18 już jej nie ma.
Lepiej jednak mi pasuje metoda zliczania.
Myślę sobie - co za problem - kopiuję z Wikipedii i mam.
Jednak coś mnie zatrzymało. Jak to będzie działać na 8-bitowym z rekordami
danych, bo oprócz wartości napięć są i ich adresy?
Musi być to strasznie czasochłonne i nadmiarowe zrobić na 8-bitówce.
Więc zrobiłem w asm. Zaraz uruchomię.
Nie zdecydowałem się w pierwszej kolejności w C i podpatrzeć, tylko
sprawdzić od razu w ASM nie sugerując się.
Jak to zrobię zapuszczę w C18 poniższy fragment z Wikipedii i porównam.
W międzyczasie, jakby mi ktoś powiedział, czy widzi jakieś spowolnienia w
tym kodzie, to byłbym wdzięczny.
S.
# variables:
# input -- the array of items to be sorted; key(x) returns the key for
item x
# n -- the length of the input
# k -- a number such that all keys are in the range 0..k-1
# count -- an array of numbers, with indexes 0..k-1, initially all zero
# output -- an array of items, with indexes 0..n-1
# x -- an individual input item, used within the algorithm
# total, oldCount, i -- numbers used within the algorithm
# calculate the histogram of key frequencies:
for x in input:
count[key(x)] += 1
# calculate the starting index for each key:
total = 0
for i in range(k): # i = 0, 1, ... k-1
oldCount = count[i]
count[i] = total
total += oldCount
# copy to output array, preserving order of inputs with equal keys:
for x in input:
output[count[key(x)]] = x
count[key(x)] += 1
return output
Następne wpisy z tego wątku
- 04.04.14 10:52 Marek
- 04.04.14 11:10 Sylwester Łazar
- 04.04.14 11:22 Michał Lankosz
- 04.04.14 11:46 jacek pozniak
- 04.04.14 11:58 tusk, donald tusk
- 04.04.14 12:01 Adam Wysocki
- 04.04.14 12:40 Marek
- 04.04.14 12:41 Marek
- 04.04.14 12:47 Sylwester Łazar
- 04.04.14 12:49 Marek
- 04.04.14 13:47 jacek pozniak
- 04.04.14 14:07 Sylwester Łazar
- 04.04.14 14:09 jacek pozniak
- 04.04.14 14:19 jacek pozniak
- 04.04.14 15:13 jacek pozniak
Najnowsze wątki z tej grupy
- nawigacja satelitarna
- SmartLife/Tuya i osuszanie -- mordowanie z zimną krwią...
- Głośnik piezoelektryczny
- Mala autonomiczna kamera monitoringu
- czas na emeryturę i EB
- Generowanie sumy kontrolnej z fragmentu pliku bin
- Re: Mala autonomiczna kamera monitoringu
- HDMI
- Re: Mala autonomiczna kamera monitoringu
- Kamera monitoringu z kartą SIM
- Re: Kamera monitoringu z kartą SIM
- Re: Kamera monitoringu z kartą SIM
- skąd my to znamy
- Re: Kamera monitoringu z kartą SIM
- Re: Kamera monitoringu z kartą SIM
Najnowsze wątki
- 2024-06-27 Re: Prywatny parking? Pierwsze 10 minut bezplatnie
- 2024-06-27 A co mnie to koooorwa obchodzi?
- 2024-06-28 nawigacja satelitarna
- 2024-06-28 SmartLife/Tuya i osuszanie -- mordowanie z zimną krwią...
- 2024-06-27 położyłem kafelki
- 2024-06-28 Łódź => International Freight Forwarder <=
- 2024-06-28 Łódź => Spedytor Międzynarodowy <=
- 2024-06-28 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-06-28 Sopot => Team Leader E-Commerce for Foreign Markets <=
- 2024-06-28 Warszawa => Senior React Native Developer <=
- 2024-06-28 Warszawa => Frontend Developer (React) <=
- 2024-06-28 Warszawa => Software .Net Developer <=
- 2024-06-28 Warszawa => Frontend Developer (React) <=
- 2024-06-28 Warszawa => Programista Full Stack .Net <=
- 2024-06-28 Warszawa => Frontend Developer (React) <=