-
Data: 2009-06-12 00:53:28
Temat: Re: Problem lekko OT, ale w WinAVR ;-)
Od: "T.M.F." <t...@n...mp.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]>>>> void Rysuj(tRect&t);
>>>> Inaczej kompilator musi utworzyc kopie obiektu tRect i ta kopie dopiero
>>>> przekazac do funkcji.
>>> W C++ moze to byc faktycznie kosztowne.
>> W C tez powinno byc kosztowne. Bo skad kompilator ma wiedziec, ze Rysuj
>> nie modyfikuje struktury tRect?
>
> Nie musi wiedziec. Ma wrzucic cala na stos, co powinno pojsc dosc
> szybko.
Tak sie nie da. Jesli tRect jest gdzies dalej wykorzystywany to
kompilator musi utworzyc jego kopie, zeby zagwarantowac, ze Rysuj jej
nie zmodyfikuje - to wynika ze standardu. Oczywiscie optymalizator moze
zauwazyc, ze nasze tRect jest dalej niewykorzystywane i z tego etapu
zrezygnowac - no ale to juz zaklada, ze optymalizator jest dosc
sensowny. W tym przypadku zapewne sobie poradzi. Jesli przekazesz adres
struktury bedzie to zawsze dzialac jak nalezy.
>>> W pozostalych sytuacjach trzeba by spojrzec w kod wynikowy co lepiej
>>> kompilatorowi wyszlo.
>>> A wracajac do meritum .. wychodzi na to ze najlepiej byloby odwrocic
>>> sprawe - zrobic funcje z 4 parametrami, a nad nia ewentualnie
>>> nadbudowac wersje ze struktura.
>>> I nie korzystac z niej bez potrzeby :-)
>> Niekoniecznie. 4 parametry to w idealnym przypadku 4 8-bitowe rejestry.
>> Zazwyczaj wiaze sie to z ich wczesniejszym odlozeniem na stosie i potem
>> ponownym pobraniem. Przy przekazaniu przez wskazanie mamy tylko dwa
>> 8-bitowe rejestry wskazujace na strukture, co wiaze sie zmniejszym
>> nakladem na przekazanie parametrow. W procedurze czesto jest to
>> optymalizowane jako LD Rx,Z+y, lub podobne.
>
> Sa to pewne zalozenia i wymagaja odpowiedniego procka.
> W wielu moze wyjsc odwrotnie.
Ale mowimy konkretnie o AVR i AVR-gcc.
--
Inteligentny dom - http://idom.wizzard.one.pl
http://idom.sourceforge.net/
Teraz takze forum dyskusyjne
Zobacz, wyslij uwagi, dolacz do projektu.
Następne wpisy z tego wątku
- 12.06.09 00:56 T.M.F.
- 12.06.09 00:58 T.M.F.
- 11.06.09 19:01 Zbych
- 11.06.09 19:02 Zbych
- 11.06.09 20:16 Adam Dybkowski
- 12.06.09 03:35 T.M.F.
- 12.06.09 03:37 T.M.F.
- 12.06.09 07:54 Zbych
- 12.06.09 08:14 Zbych
- 12.06.09 09:05 Grzegorz Kurczyk
- 12.06.09 15:42 T.M.F.
- 12.06.09 15:47 T.M.F.
- 12.06.09 10:29 Zbych
- 12.06.09 17:14 T.M.F.
- 12.06.09 11:27 Zbych
Najnowsze wątki z tej grupy
- 2,5 x więcej niż Li-Ion
- Tfu! Przeklety prostokąt (czyli UPS i "sinus modyfikowany")
- Dalekopis T100 - problem z powrotem karetki
- Diody LED - oświetlenie na choinkę
- ale wiesz, że są gotowce?
- jak wykryć zapalenie żarówki?
- Cyna dylemat
- Mierniki poziomu glukozy (CGM, FGM)
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Kontrola nad prądem - sprawdź jak działa [apka - przyp. JMJ] eLicznik
- NETIA i hasło logowania
- Modulacja FM
- Najgorszy język programowania
- Kol. sukces po polsku: firma Szumisie sp. z o.o.
- Chińska Telefonia 6G - Chcą Nas Sterować Elektrycznie - Jak Kukiełki w Teatrze Lalek!!!
Najnowsze wątki
- 2025-12-25 Finlandia przywraca swastykę
- 2025-12-25 Skuteczność wymiaru sprawiedliwości
- 2025-12-24 Felgi
- 2025-12-24 2,5 x więcej niż Li-Ion
- 2025-12-24 No i kolejny ograniczony
- 2025-12-24 Warszawa => Młodszy Specjalista ds. wsparcia sprzedaży <=
- 2025-12-24 New York Times zagrożeniem bezpieczeństwa narodowego USA - POTUS D. Trump
- 2025-12-24 Podżeganie?
- 2025-12-24 => Senior Algorithm Developer (Java/Kotlin) <=
- 2025-12-24 otwarcie drugiej obwodnicy Trójmiasta
- 2025-12-24 Tfu! Przeklety prostokąt (czyli UPS i "sinus modyfikowany")
- 2025-12-23 Prezent dla kierowców od prezydenta Nawrockiego
- 2025-12-23 Warszawa => Asystent ds. Sprzedaży i Rozwoju Klienta <=
- 2025-12-23 Warszawa => Senior IT Recruitment Consultant <=
- 2025-12-22 czy wiedziałeś że?




7 pułapek i okazji - zobacz co cię czeka podczas kupna mieszkania na wynajem