-
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
- kolorowy e-paper
- Sterownik kotła CO praca PWM
- Jakie baterie A23 i LR44?
- OLED SSD1306 - degradacja?
- Który symulator AVR jest ,,prawilny"?
- Disk on Module, czym to odczytać?
- Pasta ochronna? Lutownicza?
- zagadka pneumatyczna
- Klip testowy, jak sie to używa
- Jak sie smazy elektronike z odleglosci kilkuset metrów?
- William Shockley, co-inventor of the transistor
- Gazowy kocioł CO regulacja cyklingu i regulacja pogodowa
- Zamek elektroniczny
- szablon do pasty DIY
- Głośnik potrzebny
Najnowsze wątki
- 2025-11-24 Domowy switch 1GBit/8 portów, ale lepszy niż najtańsze
- 2025-11-24 Kraków => Production Coordinator / Representant Product Dev <=
- 2025-11-24 Warszawa => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-11-24 Białystok => Solution Architect (Workday) - Legal Systems <=
- 2025-11-24 Białystok => Konsultant ERP Microsoft Dynamics 365 Commerce <=
- 2025-11-24 Rzeszów => ERP Microsoft Dynamics 365 Commerce Consultant <=
- 2025-11-24 Białystok => Programista React ze znajomością C++ <=
- 2025-11-24 Gdańsk => Dynamics 365 Commerce/POS Developer <=
- 2025-11-24 Białystok => Microsoft Dynamics 365 Finance Consultant <=
- 2025-11-24 Białystok => Senior Microsoft Dynamics 365 Business Central Konsultan
- 2025-11-24 I kolejne mleko się rozlało
- 2025-11-24 kolorowy e-paper
- 2025-11-24 Białystok => Konsultant Microsoft Dynamics 365 Finance <=
- 2025-11-24 Białystok => Programista Delphi <=
- 2025-11-24 DRL tylne




Ile kosztują tanie mieszkania w polskich metropoliach?