-
Data: 2014-04-05 12:42:04
Temat: Odp: C vs. ASM na przykładzie PIC18F
Od: Sylwester Łazar <i...@a...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]> 5) Po włączeniu optymalizacji "Enable on" kod zmniejszył się do 342 bajtów
> i w ten sposób współczynnik ilości bajtów C vs. ASM wyniósł: 2,67.
> Główna pętla zwiększyła się ze 121instrukcji na 182!
> Przypominam: w asm 20 instrukcji.
> Możliwe, że ma to swoje umotywowanie czasowe, ale trudno mi sobie je
> wytłumaczyć,
> skoro da się to ze spokojem przeprowadzić w 20 instrukcjach, a niech
będzie,
> że i w 40,
> jeśli jakiś student by się pokusił o nieoptymalne napisanie kodu.
> Ale 182 to już gruba przesada.
Tutaj muszę sprostować.
Oczywiście 182 bajty. Nie instrukcje.
No i dodatkowo okazało się, że jest jeszcze więcej, bo coś około 218 bajtów
W każdym razie, w poniższej pętli jest zawartych 94 instrukcji ASM 18F,
co odpowiada 20 instrukcjom w kodzie pisanym bezpośrednio w ASM.
for(i = n-1 ; i >= 0 ; --i)
{
j=--LICZV[VDIOD[i]]; // aktualizacja LICZV
VDOUT[j] = VDIOD[i]; //wstawienie elementu na odpowiednią pozycję
ADRDOUT[j][0] = ADRDIOD[i][0]; // sortowanie adresów
ADRDOUT[j][1] = ADRDIOD[i][1]; // sortowanie adresów
}
Przepraszam, za pomyłkę.
S.
Następne wpisy z tego wątku
- 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
- 05.04.14 16:12 Sylwester Łazar
- 05.04.14 16:19 Sylwester Łazar
Najnowsze wątki z tej grupy
- masowe programowanie AVR
- Fajny pomysł na monitor z klawiaturą
- Sprzedawanie zaszyfrowanych filmów na płytach Blu-Ray bez kluczy deszyfrujących
- Aparat, zewnętrzny mikrofon, brum
- Wieszanie się przy aktywnym SMP
- Prognozowanie zużycia energii przez PGE?
- Odkurzacz mnie bije :(
- Rapsberry Pi i synchronizacja plików
- RCD 300 mA
- rpi i moduł przekaźników
- Falownik do pompy CO
- Lampa ogrodowa rozłączała różnicówkę
- Inteligentne oświetlenie schodów
- Pytanie do Użytkownika
- Emanuel kiedyś szukał gotowca do chłodzenia leków
Najnowsze wątki
- 2024-10-10 Podnieś rękę!
- 2024-10-10 Warszawa => Spedytor Międzynarodowy <=
- 2024-10-10 Kraków => International freight forwarder <=
- 2024-10-10 Warszawa => Data Scientist / Data Engineer (predictive modelling) <=
- 2024-10-09 Próby RCB SMS alarmowy
- 2024-10-09 Bye Bye Aero2
- 2024-10-09 Gdańsk => Technical Lead ( (Java Background)) <=
- 2024-10-09 Białystok => Technical Leader (Java Background) <=
- 2024-10-09 Katowice => QA Engineer <=
- 2024-10-09 Gdynia => Data Scientist <=
- 2024-10-09 Warszawa => Data Scientist / Data Engineer (modele predykcyjne) <=
- 2024-10-09 Warszawa => Programista Full Stack .Net <=
- 2024-10-09 Warszawa => Senior Account Manager <=
- 2024-10-09 Warszawa => Key Account Manager <=
- 2024-10-09 Warszawa => Sales Development Representative (z j. niemieckim) <=