-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
.pl!news.nask.org.pl!news.internetia.pl!not-for-mail
From: Mario <m...@...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: PIC vs AVR
Date: Tue, 08 Apr 2014 00:06:29 +0200
Organization: Netia S.A.
Lines: 55
Message-ID: <lhv8es$c0h$1@mx1.internetia.pl>
References: <533ddbbb$0$2158$65785112@news.neostrada.pl> <lhpavu$914$1@dont-email.me>
<lhpeqj$ct4$1@speranza.aioe.org> <lhpgfo$kjn$1@dont-email.me>
<lhpluc$v7a$1@speranza.aioe.org> <lhpr39$4rf$1@dont-email.me>
<lhq0sf$7gn$1@speranza.aioe.org> <lhrd9u$agv$1@dont-email.me>
<lhrhae$j9a$1@speranza.aioe.org> <lhrk97$6kg$1@mx1.internetia.pl>
<lhs0th$qtp$1@speranza.aioe.org> <lhs583$vhh$1@mx1.internetia.pl>
<lhs5nm$1fo$1@mx1.internetia.pl> <lhubnd$amu$1@mx1.internetia.pl>
<lhueie$klk$1@mx1.internetia.pl> <lhut4e$4dn$1@mx1.internetia.pl>
<lhuvs6$f3a$1@mx1.internetia.pl> <lhv567$142$1@mx1.internetia.pl>
<lhv6h3$5kv$1@mx1.internetia.pl>
NNTP-Posting-Host: 159-205-85-152.adsl.inetia.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: mx1.internetia.pl 1396909340 12305 159.205.85.152 (7 Apr 2014 22:22:20 GMT)
X-Complaints-To: a...@i...pl
NNTP-Posting-Date: Mon, 7 Apr 2014 22:22:20 +0000 (UTC)
In-Reply-To: <lhv6h3$5kv$1@mx1.internetia.pl>
X-Tech-Contact: u...@i...pl
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031007
X-Server-Info: http://www.internetia.pl/
Xref: news-archive.icm.edu.pl pl.misc.elektronika:662656
[ ukryj 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
- Było 83V
- Stare komputery
- Odbiornik ADS-B i wzmacniacze
- Thunderbird i dysk...
- opornosc falowa
- Bateria 9V 6F22, alkaliczna v cynkowa, samorozładowanie, bateria wysokiej trwałości do miernika
- Tani zakup z ali?
- w czasach LED komary mają ciężko
- walizka z kodami
- Rejestrator temperatur - termopara, siec
- Router LTE z możliwością zmian MTU
- Fajny film widziałem...
- Jaka ładowarka sieciowa do Iphona?
- Taśma izolacyjna do prac elektrycznych
- Recenzja 3.1A ;) w 6 gniazdach...
Najnowsze wątki
- 2025-07-31 Wybory
- 2025-07-31 Czy negowanie usańskiego lądowania na księżycu jest karalne?
- 2025-07-31 Zabójcze zwycięstwo policji nad maczetownikiem [Sosnowiec]
- 2025-07-30 Taka ciekawostka pożarowa :)
- 2025-07-30 Danina dla artystów, tworców i producentów od zakupu sprzętu elektronicznego.
- 2025-07-30 Białystok => Software Engineer .Net <=
- 2025-07-30 Gdańsk => Programista Delphi <=
- 2025-07-30 Kolejni bezrobotni inżynierowie na zasiłkach...
- 2025-07-30 Rzeszów => International Freight Forwarder <=
- 2025-07-30 Warszawa => Konsultant Wiodący SAP PP <=
- 2025-07-30 MILLER ZAORAŁ PRO-UKRAIŃSKIEGO REDAKTORA
- 2025-07-29 "cywilny przemysł stoczniowy w USA praktycznie nie istnieje"
- 2025-07-29 Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- 2025-07-29 Re: PLL LOT na pokładzie zemdlało kilku pasażerów, a linie lotnicze nie zapewniły nawet podstawowego wsparcia - choćby szklanki wody.
- 2025-07-29 Re: Podkreślają też wielką szkodliwość zdrowotną wiatraków, które usytuowane bardzo blisko siedlisk ludzkich mają negatywny wpływ na zdrowie ludzkie".