-
Data: 2009-09-07 09:44:21
Temat: Re: WinAVR-20090313 "inlajnowanie" funkcji.
Od: Grzegorz Kurczyk <g...@a...control.slupsk.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Użytkownik identyfikator: 20040501 napisał:
>> Dla potomnych: dyrektywy kompilatora
>
> a może jak Ktoś kiedyś będzie szukał i znajdzie Twojego posta jako mało
> oblatany nie będzie wiedział o co chodzi... więc może byś wyjaśnił co to
> jest to "inlajnowanie" funkcji?
Witam ponownie.
Generalnie te informacje są istotne dla ZSOKW i ZBOKB czyli:
Zwolenników Skrajnej Optymalizacji Kodu Wynikowego
i
Związku Bojowników o Każdy Bajt
:-)
Owo "inlajnowanie" to jedna z metod optymalizacji kodu wynikowego przez
kompilator. Przykładowo mamy funkcję A wywoływaną przez funkcję B. Jeśli
w wyniku kompilacji wyszło, że ciało funkcji A to w efekcie trzy bajty
na krzyż, to nie ma sensu we wnętrzu funkcji B wstawiać wywołania
funkcji A przez rozkaz CALL (i potem wracać przez RET co jest dodatkowym
obciążeniem czasowym) ekonomiczniej jest wkompilować ciało funkcji A
bezpośrednio w ciało funkcji B. Chodzi tylko aby nie przegiąć przy tej
optymalizacji i nie doprowadzić do rozrostu kodu wynikowego.
P.S. Z wyłączeniem onlajnowania dyrektywą -fno-inline trzeba uważać, bo
np. bloki ATOMIC zaczynają generować prawdziwe koszmarki w kodzie
wynikowym zamiast prostego in r15, SREG; cli; ..... out SREG, r15.
Korzystniej jest poeksperymentować z parametrem -finline-limit=3
osiągając stosowny kompromis.
Pozdrawiam
Grzegorz
Następne wpisy z tego wątku
- 07.09.09 20:44 T.M.F.
Najnowsze wątki z tej grupy
- 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...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Wkrętarki, wiertarki...
- Zasilacz impulsowy 12V 10A, coś godnego uwagi jako zamiennik akumulatora wkrętarki
- Mouser - koszt wysyłki
- [OT] Jak wycinac ksztalt w piance lub styropianie?
- FV--> ciepła woda w kranie
- Szok
Najnowsze wątki
- 2025-07-14 Re: PO chroniło i chroni policyjnych bandziorów [zawiasy za katowanie obywatela (Poznań czerwiec 2012)]
- 2025-07-14 Warszawa => International Freight Forwarder <=
- 2025-07-14 Warszawa => Recruiter 360 <=
- 2025-07-14 Re: Rz?Âd ZAKAZUJE magazyn?Â?w energii ?!! Nowe prawo od 14 lipca to SZOK! ??Â
- 2025-07-14 Warszawa => Sales Assistant <=
- 2025-07-13 Fałszywe alerty
- 2025-07-12 dlaczego gadacie z tym debilem
- 2025-07-13 Unia Europejska przygotowuje nowy podatek
- 2025-07-13 Unia Europejska przygotowuje nowy podatek
- 2025-07-12 Warszawa => PC Hardware Expert / Specjalista PC <=
- 2025-07-12 Warszawa => Account Manager - Usługi rekrutacyjne <=
- 2025-07-12 Warszawa => Administrator IT <=
- 2025-07-12 Warszawa => IT Administrator <=
- 2025-07-12 Warszawa => Asystent/tka ds. Administracji <=
- 2025-07-12 Warszawa => Specjalista/stka ds. Organizacji <=