-
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
- Szok
- Dziwny schemat wzmacniacza m.cz.
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- CGNAT i ewentualne problemy
- wzmacniacz mocy
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- Propagation velocity v/c dla kabli RF
- Jakie natynkowe podwójne gniazdo z bolcem (2P+PE)
- Czujnik nacisku
- Protoków komunikacyjny do urządzenia pomiarowego
- Hiszpania bez pradu
- amperomierz w plusie
- 3G-nadal działa
- Historia pewnego miernika kalibratora
- Ustym 4k Pro i wyświetlacz
Najnowsze wątki
- 2025-05-31 Warszawa => IT Data Analyst (obszar Power BI) <=
- 2025-05-31 Warszawa => IT Hardware Specialist - Wsparcie i Konfiguracja <=
- 2025-05-31 Środa Wielkopolska => Konsultant wewnętrzny SAP FI/CO <=
- 2025-05-31 Gdańsk => PHP Developer <=
- 2025-05-31 Lublin => Delphi Programmer <=
- 2025-05-31 co to za obcęgi? [OT]
- 2025-05-30 Rondo :)
- 2025-05-30 Warszawa => Senior Account Manager <=
- 2025-05-30 Warszawa => Senior C++ Developer (analiza numeryczna i modelowanie) <=
- 2025-05-30 Gdańsk => Team Lead Data Engineer (Snowflake) <=
- 2025-05-30 Warszawa => Team Lead Data Engineer (obszar Snowflake) <=
- 2025-05-30 Gdańsk => Programista Delphi <=
- 2025-05-30 Warszawa => Software Engineer .Net <=
- 2025-05-30 Warszawa => Inżynier oprogramowania .Net <=
- 2025-05-30 Warszawa => Młodszy Specjalista ds. wsparcia sprzedaży <=