-
Data: 2014-04-05 11:49:07
Temat: Odp: C vs. ASM na przykładzie PIC18F
Od: Sylwester Łazar <i...@a...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]> 1. Kompilator HiTech 8.05PL2 -O -Zg, procesor pic16f876A:
> 149 words(słów, nie bajtów) ROM, 38 bytes RAM
> bez funkcji zlicz(), odpowiednio 54 słów ROM, 35 RAM
>
> 2. Kompilator HiTech 9.63PL2 --opt=ALL , procesor pic18f252:
> 284 bytes ROM, 37 RAM
> bez funkcji zlicz(),75 bytes ROM, 15 bytes RAM
>
> 3. Kompilator XC8, ver 1.3 --opt=ALL (60-dniowa) procesor pic18f252: nie
> wiem do końca, ćzy jest właczone MODE PRO niby w ciągu 60 dni powinno być
> właczone ale coś kod zbyt duży wychodzi):
> 606 bytes ROM, 43 RAM
> bez funkcji zlicz() 160 ROM, 35 RAM
>
> 4. AVR-GCC na atmega32 -O2 (nie znam jeszcze dokładnie avr-gcc i jego
opcji)
> 376 ROM, 37 RAM
> bez funkcji zlicz() 222 ROM, 37 RAM
>
> Wśród PICów jaki widać zwycięzcą jest 8.05 na PIC16.
>
> jp
Dzięki.
Mam mieszane uczucia.
Napracowałeś się, przekompilowałeś i mamy fajne dane.
Teraz tak.
Ten PIC, który wybrałeś dla pkt.1 to 16F, a nie 18F.
Różnica jest taka, że on ma 14bitów długość rozkazu, więc tam w bajtach nie
mozna porównywać.
Słusznie napisałeś, że po kompilacji ma 149 _słów_.
Mój w ASM ma 71 słów na 18F.
na 16F miałby o 10 słów więcej, gdyż 16F nie ma rozkazów LFSR,MOVFF i NEGF.
Czyli 81 słów vs. 149 słów, czyli współczynnik C/ASM=1,8.
Całkiem nieźle, jeśli chodzi o nadmiarowość kodu.
Jednak jak powiedziałem - nie mierzyłem czasu, więc nie są te badania
obiektywne,
co do czasu wykonywania.
Ja podałem ok. 6x wolniejszy, ale to tylko szacunek.
Podaj może ilość rozkazów w głównej pętli sortującej, lub umieść kod to
policzymy.
S.
Następne wpisy z tego wątku
- 05.04.14 12:28 Marek
- 05.04.14 12:42 Sylwester Łazar
- 05.04.14 12:42 jacek pozniak
- 05.04.14 12:48 Sylwester Łazar
- 05.04.14 12:52 Marek
- 05.04.14 13:03 Sylwester Łazar
- 05.04.14 13:09 Sylwester Łazar
- 05.04.14 13:19 Sylwester Łazar
- 05.04.14 13:27 Sylwester Łazar
- 05.04.14 13:26 jacek pozniak
- 05.04.14 13:39 Sylwester Łazar
- 05.04.14 14:13 jacek pozniak
- 05.04.14 15:28 Sylwester Łazar
- 05.04.14 15:43 AlexY
- 05.04.14 15:49 jacek pozniak
Najnowsze wątki z tej grupy
- Domofon analogowy kontra cyfrowy - jaki cyfrowy zamiast analogowego?
- awaryjne zasilenie samochodu
- akumulator z UPS
- Wyłącznik nadprądowy nie działa czy ja coś sknociłem?
- Sterownie roletami
- po co komu diody w bezpieczniku?
- bramka AND w samochodzie
- Coś podobnego do 1117, ale 3.6V
- UL1211
- Timer
- Głowica termostatyczna - zdalna
- Antena UKF
- Re: Antena UKF
- Potrzebny schemat ideowy (nie blokowy) TCA440 alias UL1203 lub A244D.
- złącze wkręcane do kabla koncentrycznego
Najnowsze wątki
- 2024-08-10 Smrody trują ludzi
- 2024-08-10 Elektryki takie bezpieczne :)
- 2024-08-09 Czy schowanie się za śmietnikiem usprawiedliwi
- 2024-08-10 Warszawa => SEO Specialist (15-20h tygodniowo) <=
- 2024-08-10 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-08-10 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-08-10 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-08-10 Lublin => Java Full Stack Developer (Angular/React) <=
- 2024-08-10 Warszawa => Data Scientist / Data Engineer <=
- 2024-08-10 Warszawa => Key Account Manager <=
- 2024-08-10 Błonie => Sales Specialist <=
- 2024-08-10 Warszawa => Technical Leader (Java Background) <=
- 2024-08-09 Warszawa => Senior Software Engineer (C, Java) <=
- 2024-08-09 Warszawa => International freight forwarder <=
- 2024-08-09 Warszawa => Senior Developer React Native <=