-
Data: 2014-04-07 23:35:20
Temat: Re: PIC vs AVR
Od: Sylwester Łazar <i...@a...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]> Jakbyś nie kombinował z tego przykładu z AVR nie wykażesz, że po
> kompilacji kod jest wielokrotnie mniej wydajny. Ani w ilości instrukcji
> ani w czasie wykonywania.
Po analizie głównej pętli sortującej widać, że:
stosunek czasu wykonywania kodu w C do czasu wykonywania kodu w ASM
będzie ok. 3x większy.
W pierwszym poście zrobiłem błąd.
Podałem:
"2) Testów czasowych _nie robiłem_, ale główna pętla przepisywania rekordów
ma w asm: 20 instrukcji,
a w C po przekompilowaniu: 121 instrukcji.
Wygląda na to, że w C program działa jakieś 6x wolniej."
Przeprosiłem za to i skorygowałem.
Chodziło o 121 bajtów,
czyli instrukcji tam jest ok. 60.
Czyli już masz Tc/Tasm = ~3x
Tc/Tasm = 1,6 jest liczbą nierealną.
Z moich doświadczeń wynika, że:
czasowo ten stosunek wychodzi jeszcze gorzej.
Ale to, aby było solidnie, należałoby zmierzyć dodając timer.
i dlatego analiza czasowa NIE BYŁA PRZEPROWADZANA.
Zobacz sobie na metodę qsort().
Tam używa się rekurencji.
Czyli jeżeli kompilator, (użyję Twojego języka i mojego)
jest nieoptymalny/spartolił sprawę w głównej pętli,
to rekurencji podlega także wykładniczo czas realizacji całości.
I właśnie rekurencyjny qsort() masz zaimplementowany w bibliotece C30
Microchipa w standardzie.
Może znajdzie się ktoś, kto dokona ANALIZY czasowej, bo ja niestety nie mam
czasu,
a tylko ochotę :-)
A potem powiesz, że zrobiłem to, aby się pochwalić.
S.
Następne wpisy z tego wątku
- 08.04.14 00:06 Mario
- 08.04.14 00:12 Michał Lankosz
- 08.04.14 00:28 Pszemol
- 08.04.14 00:58 Sylwester Łazar
- 08.04.14 01:02 Sylwester Łazar
- 08.04.14 02:12 Pszemol
- 08.04.14 02:18 Pszemol
- 08.04.14 08:59 Dariusz Dorochowicz
- 08.04.14 14:01 Mario
- 08.04.14 14:19 Pszemol
- 08.04.14 19:29 Michał Baszyński
- 08.04.14 19:44 Marek
- 08.04.14 21:15 Marek Borowski
- 08.04.14 21:15 Marek Borowski
- 08.04.14 22:41 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) <=