eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaPIC vs AVRRe: PIC vs AVR
  • 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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: