Optymalizacje budowania w Waszych projektach

Optymalizacje budowania w Waszych projektach
several
  • Rejestracja: dni
  • Ostatnio: dni
0

"Obganiacie" wszystko multithreadingiem i prekompilowanymi nagłówkami? Czy macie może jakąś bardziej wymyślną konfigurację opartą na czymś podobnym do increadibuild albo fastbuild z buforowaniem i redystrybucją?

Ostatnio popełniłem przydługawy wpis na mikroblogu gdzie na przykładzie mojego hobbystycznego projektu pisałem o skracaniu czasu budowania gdy nie mamy lub nie chcemy mieć w projekcie skomplikowanych narzędzi do budowania. W moim obecnym, komercyjnym projekcie na razie ograniczamy się do multithreadingu i prekompilowanych nagłówków i jestem ciekaw jakie podejście do czasów kompilacji mają inne firmy, poświęca się u Was na to w ogóle czas czy nikt nie dotyka tematu do momentu aż stanie się większym problemem?

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
3

https://github.com/Kitware/CMake - niewielka przeróbka i make wysyła źródło do kompilacji również do innych komputerów.
Czyli kompilacja rozproszona. DCOM

kq
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
4

Tylko ccache i sensowne (ale nie nadmierne) wykorzystanie forward-deklaracji. Linkowanie to najdłuższy etap budowy projektu.

Za jakiś czas planuję zacząć implementację modułów.

MarekR22
  • Rejestracja: dni
  • Ostatnio: dni
4

Include What You Use - potrafi wyczyścić pliki nagłówkowe, że różnica jest spora. W poprzedniej firmie zyskaliśmy w ten sposób 50% czasu.
Generalnie forward declaration, gdzie tylko się da.

Nie weryfikowałem, ale pilnowanie, by domyślne implementacje destruktorów, były generowane w pojedynczym pliku źródłowym też podobno pomaga.

Nadchodzi C++20 i moduły. To powinno znacznie przyspieszyć proces budowania.

T3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 55
2

Ja w dużej mierze stosuję połączenie ccache + icecc jeśli mam kilka maszyn dostępnych.

Sensacyjny Sebastian
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 412
0

Nie stosuję żadnych dodatkowych rozwiązań, póki co make -j mi wystarczy.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.