-
Data: 2014-04-08 00:06:29
Temat: Re: PIC vs AVR
Od: Mario <m...@...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 2014-04-07 23:35, Sylwester Łazar pisze:
>> 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ć.
Z czego wynikają twoje projekcje na temat mojego ewentualnego
zachowania? Jakiś uraz osobisty?
Twoje rozważania na temat efektów kompilacji na PICach zostały
uzupełnione przez Janusza, który podał efekt kompilacji na AVR (1.6). Z
tego wynika, że mogą być kompilatory dające wydajniejszy kod niż te dla
PICów. Tak więc z tej waszej analizy można co najwyżej wyciągnąć
wniosek, że programiści c powinni unikać platformy PIC, a programiści
asm bardzo przywiązani do architektury nie powinni przechodzić na c bo
mocno stracą na wydajności kodu. Nie wynika jednak z tego ogólna zasada,
że kompilowanie z c ma dawać wielokrotnie mniej wydajny kod.
--
pozdrawiam
MD
Następne wpisy z tego wątku
- 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
- 08.04.14 23:38 Sylwester Łazar
Najnowsze wątki z tej grupy
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
- jaki zasilacz laboratoryjny
- Puszka w ziemię
- T-1000 was here
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
- Wyświtlacz ramki cyfrowej
- bateria na żądanie
Najnowsze wątki
- 2025-02-07 Jaki silikon lub może klej?
- 2025-02-07 Gdańsk => iOS Developer (Swift experience) <=
- 2025-02-07 Warszawa => Starszy Programista C <=
- 2025-02-07 Niby to nie sąd ale kooorwa tak to w sądach dziś wygląda?
- 2025-02-06 PROGRAM DOPŁAT DO AUT ELEKTRYCZNYCH TO ABSURD. ZA ŚRODKI Z KPO KUPIMY NIEMIECKIE I CHIŃSKIE AUTA
- 2025-02-05 ceny OC
- 2025-02-05 Re: ceny OC
- 2025-02-05 Re: ceny OC
- 2025-02-07 Smar do video
- 2025-02-06 Litowe baterie AA Li/FeS2 a alkaliczne
- 2025-02-07 Gliwice => Business Development Manager - Network and Network Security
- 2025-02-07 Warszawa => System Architect (Java background) <=
- 2025-02-07 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-02-07 Warszawa => Solution Architect (Java background) <=
- 2025-02-07 Gliwice => Ekspert IT (obszar systemów sieciowych) <=