"optymalizacje" C++
Tomasz Kłoczko
kloczek w rudy.mif.pg.gda.pl
Nie, 6 Maj 2001, 22:16:05 CEST
On Sun, 6 May 2001, Jakub Bogusz wrote:
> chodzi o: [przykład z gperf.spec]
>
> Revision 1.17 2001/05/04 07:44:08 kloczek
> [...]
> - use C++ optomizations only when debug is not enabled.
>
> (konkretnie: -fno-rtti -fno-exceptions -fno-implicit-templates )
>
> IMO to nie są optymalizacje - tylko po prostu wyłączenie niektórych
> featurów C++.
Wychodzi mniejszy kod czyli zoptymalizowany pod użycie :)
> Jedyne (AFAIK) co może czasem się przydać przy debuggowaniu to rtti
> (żeby sprawdzić typ jakiegoś obiektu - tylko nie jestem pewien - czy
> można sprawdzić z poziomu debuggera? chyba tak, jest to realizowane
> jako dodatkowy atrybut?).
Dlatego użycie powinno wygladać tak mniej wiecej:
CXXFLAGS="%{rpmcflags} %{!?debug:-fno-rtti -fno-exceptions -fno-implicit-templates}"
> exceptions i implicit-templates albo jest potrzebne, albo nie,
> i przy debuggowaniu niczego nie zmieniają.
Ale wpływają na rozmiar kodu wynikowego (i to znacznie .. do nawet
dwudziestu paru procent).
> Czy w związku z tym jest sens, aby w wersji --debug wyjątki
> i implicit-templates zostawały włączone tam gdzie nie są potrzebne?
> rtti można zostawić.
Nie znam się na tym aż tak. Patrzę na to pod kontem binarek produkcyjnych
które powinny być możliwei małe i szybkie. To co się dziej w tym wypadku
przy %{debug} do już inna rzecz i być może masz rację.
kloczek
--
-----------------------------------------------------------
*Ludzie nie mają problemów, tylko sobie sami je stwarzają*
-----------------------------------------------------------
Tomasz Kłoczko, sys adm @zie.pg.gda.pl|*e-mail: kloczek w rudy.mif.pg.gda.pl*
Więcej informacji o liście dyskusyjnej pld-devel-pl