Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 24 lis 2024, o 20:47


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 19 wrz 2013, o 19:27 
Offline
Użytkownik

Dołączył(a): 06 paź 2011
Posty: 92
Lokalizacja: Kraków
Pomógł: 2

Przeglądając strony http://www.embedds.com trafiłem na ciekawą notkę od Atmela dotyczącą optymalizacji kodu w C na nasze 8-bitowce.
Notka może nie jest super zaawansowana a raczej chyba dla mniej zaawansowanych, nie mniej jednak uważam, że warto się z nią zapoznać.
AVR4027



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 wrz 2013, o 19:44 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27310
Lokalizacja: Szczecin
Pomógł: 1041

tak - to bardzo dobra notka ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 wrz 2013, o 01:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2012
Posty: 758
Pomógł: 9

Bardzo fajna notka, czegoś takiego szukałem. Zainteresował mnie tip #10 - unrolling loops.
Wiadomo, dlaczego przykład po prawej wykonuje się szybciej, ale w kodzie po lewej została zastosowana pętla do...while, która wymaga dodatkowej zmiennej. Moje pytanie: czy gdyby zastosowano zwykłego fora (eliminacja zmiennej loop_cnt), to czy kompilator z kodu prawego i tego z forem zrobi to samo? Zajmą tyle samo bajtów i cykli?

Podejrzewam, że kod zajmie mniej bajtów od do..while, ale jednak więcej cykli od kodu z brakiem pętli z uwagi na obsługę pętli for - wyliczanie indeksów, inkrementację itp.

_________________
ATB 1.03, Win XP SP3, ECLIPSE Indigo 3.7.2



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO