[c++] Jak przyspieszyc GCC?

0

Moze znowu mam za trudne pytanie, ale mam wrazenie ze GCC potwornie wolno kompiluje mi kod z wzorcami. Normalny kod, jak dobrze napisze naglowki, zeby bylo malo powiazan, nawet z optymalizacja -O3 generuje sie blyskiem (1/3 s na jakies 300-400 linii dosyc zawiklanego kodu, Celeron 2.4 GHz 128 kB cache, 256 MB DDR).

Samo zaincludowanie kilkunastu krotkich funkcji templat'owych (razem ze 300 linii + 200 linii naglowkow) tez trwa ulamek sekundy, ale jak tylko pojawi sie konkretyzacja, powiedzmy cos takiego:

template class Wzorzec<int>;

to ponad 2 sekundy w plecy... Czy moze macie jakies info, zeby w ktoryms nowym gcc to bylo poprawione? Bo wg mnie to jest przegiecie. Dlaczego zwykly kod kompiluje sie szybko, a wzorce kilka razy wolniej? To sie absolutnie niczym nie powinno roznic!

Ile czasu przecietnie kompiluja sie Wasze programy w roznych kompilatorach?

0

hmmm ja jak na razie nie stwierdzilem jakis roznic wielkich, moze kompiluje dluzej ze wzgledu na sama idee szablonow - musi odpowiednio popodstawiac kod aby to dzialalo w rzeczywistosci na konkretnym typie danych... ale szczerze powiedziawszy nie wiem czego masz jakies ort!.. :-|

0

No dobrze, moze przesadzam z tymi roznicami, choc dla wzorcow sa wyrazne - zwykly kod tez dosyc wolno kompiluje. Moze przyzwyczailem sie za bardzo do Javy, a teraz znowu wiecej w C++ robie i takie mam odczucia.

Zastanawia mnie jak to jest zrobione, ze Java potrafi skompilowac prawie 400 niebanalnych plikow w kilkanascie sekund, podczas gdy gcc na tym samym sprzecie w tym samym czasie daje rade niecale 30 (srednio w obu projektach mniej wiecej tyle samo kodu na plik przypada).

0

albo to wina optymalizacji lub ort! wewnetzrnych opcji ...

1 użytkowników online, w tym zalogowanych: 0, gości: 1