• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Czy to normalne, że w projekt w firmie, w której pracuję, kompiluje i builduje się przez ok. 10-12 minut?

Object Storage Arubacloud
0 głosów
728 wizyt
pytanie zadane 17 lipca 2021 w Rozwój zawodowy, nauka, praca przez kasia7777 Nowicjusz (160 p.)
Cześć,

od pewnego czasu pracuję w firmie, w której piszemy oprogramowanie do starszego projektu. Projekt builduje ok 10-12 minut, co oczywiście jest uciążliwe. Zastanawiam się, czy często się zdarza, żeby projekt buildował się tak długo?

(Inaczej mówiąc zastanawiam się nad zmianą firmy na taką, która będzie miała jednak nowsze oprogramowanie.)

Dzięki i pozdrawiam :)
komentarz 17 lipca 2021 przez tkz Nałogowiec (42,000 p.)
Króciutko. O ile to C/C++.

Abstrahując, że nie powinno się budować całego projektu, a pojedynczy moduł. Bo nie uwierzę, że co zmianę musisz przebudowywać cały projekt...
komentarz 17 lipca 2021 przez Wiciorny Ekspert (270,370 p.)

@kasia7777,też nie uważam tego za wine oprogramowania, a tego jak zbudowany jest projekt ;] i jak zostało to skonfigurowane. 

komentarz 17 lipca 2021 przez Oscar Nałogowiec (29,320 p.)

@kasia7777,
 skoro to stary projekt, to pomyśl ile to się kompilowało w czasach gdy ten projekt był tworzony a komputery wolniejsze.

Jeśli chcesz to jakoś przyspieszyć to pewnie się da. Chyba że mówisz o kompilacji w celu zbudowania jakiejś wersji produkcyjnej - wtedy często wymusza się pełne budowanie projektu od zera, bo w makefile-ach też mogą być błędy w zależnościach.

I jeszcze jedna rzecz - dzisiejsze komputery mają często wiele rdzeni, a typowo make działa jednowątkowo. Można jednak podać parametr określający ile równoległych wątków make ma użyć. Wtedy małym kosztem można poprawić szybkość kompilacji.

Sprawdź też ile trwają kompilacje modułów a ile linkowanie.

komentarz 18 lipca 2021 przez ITshnyk Obywatel (1,800 p.)

@kasia7777,

Najlepszym rozwiązanie tego problemu według mnie jest zakup komputera kwantowego.

Najtańsze kosztują pewnie kilka tysięcy dolarów, więc zawsze można sobie na taki pozwolić.

komentarz 18 lipca 2021 przez Wiciorny Ekspert (270,370 p.)
pięknie by było, tylko firma może nie zezwolić na :D korzystanie z projektu i kodu firmowego na urządzeniu prywatnym

2 odpowiedzi

+3 głosów
odpowiedź 17 lipca 2021 przez Benek Szeryf (91,110 p.)
Tak, jest to możliwe i myślę, że byłoby niezłym szaleństwem zmienianie firmy z takiego tylko powodu.

Inną kwestią jest, że ja bym budowanie widział przed zbliżającym się releasem w celu wykonania testów manualnych. Natomiast za testy systemowe, integracyjne, czy jednostkowe podczas fazy rozwijania oprogramowania powinny odpowiadać narzędzia CI. Zresztą tak samo jak z przygotowaniem buildów.
komentarz 17 lipca 2021 przez kasia7777 Nowicjusz (160 p.)
przeniesione 17 lipca 2021 przez Arkadiusz Waluk
Nie, to jest Java, GWT, operacje na bazach danych. To jest obsługa dokumentacji, dość skomplikowana, ale projekt jest stary i będzie przebudowywany, ale na razie działa wolno. W mavenie jest skonfigurowanych wiele modułów, w Intellij uruchamiam kompilację i buildowanie za jednym razem całość. Nie wiem, jak to jest zrobione, bo w poprzedniej firmie rzeczywiście kompilowałam najpierw niektóre moduły osobno. Teraz niestety tak jest, że co zmianę przebudowuję cały projekt. Jest to bardzo uciążliwe, zwłaszcza dla osoby, która nie ma zbyt dużego doświadczenia. Nie mówiąc już o tym, że jeżeli chcę się czegoś nauczyć, to mi znacznie opóźnia możliwość uczenia się.
komentarz 17 lipca 2021 przez Benek Szeryf (91,110 p.)
Moim zdaniem masz potencjał do zapunktowania w pracy. Wskaż ścieżkę i przygotuj narzędzia do ciągłej integracji. W Javie nie siedzę, ale szukałbym pod hasłami Jenkins, Docker, a najłatwiej to zaprząc CI wbudowane w hostingi gita jak Github, Gitlab czy BitBucket. Zależy na czym pracujecie.
komentarz 17 lipca 2021 przez tkz Nałogowiec (42,000 p.)

@kasia7777, Przebudowywanie starych projektów w większości firm jest "hasłem marketingowym" dla nowych pracowników. Nie wiem tylko jak continuous integration ma przyśpieszyć budowanie. Abstrahując od procesu debugowania, skoro wszystko działa zdalnie. Imo, o ile jest opcja, poświęciłbym czas na podział projektu na moduły/podmoduły. Na pewno w przyszłości się odwdzięczy, obojętnie, czy faktycznie do tej przebudowy dojdzie. Pewnie to też zależy od firmy, ale testy manualne nie są w roli dewelopera. Testy jednostkowe owszem. 

komentarz 17 lipca 2021 przez kasia7777 Nowicjusz (160 p.)

@Benek, dzięki za info. :) Wcześniej pisałam w małych projektach w C i nie miałam porównania.

I tak pewnie kiedyś będę chciała zmienić pracę na lepszą, jeśli mnie przyjmą oczywiście, bo z moimi umiejętnościami to jeszcze trochę...

Tak czy inaczej rozumiem że takiego długiego czasu kompilacji można się spodziewać w większych projektach, nawet jeżeli są nowsze?

1
komentarz 17 lipca 2021 przez tkz Nałogowiec (42,000 p.)
To nie jest długo. Nawet w nowszych projektach. Czas właściwie rośnie proporcjonalnie do złożoności projektu.
komentarz 17 lipca 2021 przez kasia7777 Nowicjusz (160 p.)
Ok, dzięki za informacje :)
komentarz 17 lipca 2021 przez Benek Szeryf (91,110 p.)

Tak. W mojej pracy projekty budują się dłużej, ale to inne technologie.

Nie wiem tylko jak continuous integration ma przyśpieszyć budowanie.

Samego budowania nie przyspieszy, ale możesz je uruchamiać nocą, by na drugi dzień testować.

komentarz 17 lipca 2021 przez Wiciorny Ekspert (270,370 p.)

@kasia7777,no u mnie projekty :D Javove to jest kompilacja do minuty 

komentarz 17 lipca 2021 przez tkz Nałogowiec (42,000 p.)

@Benek, Chociaż.. Samo budowanie mogłoby przyśpieszyć o ile zaplecze byłoby wystarczające. Kwestia, czy można sobie na to pozwolić. 

@kasia7777,no u mnie projekty :D Javove to jest kompilacja do minuty 

Obstawiam, że nie budujesz od zera. A "dobudowujesz" zmiany. 

komentarz 17 lipca 2021 przez kasia7777 Nowicjusz (160 p.)

@Wiciorny, zależy też, czy się zwraca uwagę na optymalizację oprogramowania. Jeżeli w firmie są słabsi programiści, a do takiej trafiłam, nie ma takich wymogów, to wiadomo, że projekt będzie się ciągnął. Widzę też różne dziwne błędy, ale może nie powinnam komentować, bo na razie sama jestem słabsza cheeky

komentarz 17 lipca 2021 przez tkz Nałogowiec (42,000 p.)
Imo powinnaś mówić, albo chociaż notować i przy jakimś spotkaniu napomknąć. Do niektórych, niezbyt dobry rozwiązań po prostu się przyzwyczajamy i o nich zapominanym, świeże spojrzenie, to jednak coś dobrego dla projektu. Drugą rzeczą jest przedwczesna optymalizacja. Jeżeli wydajność nie jest problem, to problemem nie jest wydajność. Szkoda czasu na optymalizacje w takich momentach.
komentarz 17 lipca 2021 przez kasia7777 Nowicjusz (160 p.)
Tak, mówiłam o tym. Część była poprawiona.
0 głosów
odpowiedź 17 lipca 2021 przez rafal.budzis Szeryf (85,260 p.)
Gdy 11 lat temu modyfikowałem grę Gothic budowanie modyfikacji zajmowało na moim sprzęcie 40 minut. Nauczyło mnie to zwracać większą uwagę na pisany kod. Stałem się naprawdę dokładny. Nikt po 30 minutach kompilacji nie chce zobaczyć że zapomniało się średnika (Tak nie było linterów do ich języka skryptowego).

Może to kwestia słabszego kompa? Może pogadaj aby Ci wymienili sprzęt ;) Wymiana sprzętu od strony biznesowej jest zazwyczaj najtańszą opcją w porównaniu z pracą programistów nad optymalizacją. Może powinni wam postawić mocny serwer na którym każdy by budował aplikacje?

W takiej firmie możesz też się sporo nauczyć. Głownie o zarządzaniu projektem i przekonywaniu biznesu do zmian które pomogą wam w codziennej pracy ;)
komentarz 17 lipca 2021 przez kasia7777 Nowicjusz (160 p.)

Ten projekt wszystkim się tak kompiluje. Z tego, co wiem.

30 minut to faktycznie... smileysmiley

Podobne pytania

+1 głos
3 odpowiedzi 523 wizyt
0 głosów
0 odpowiedzi 356 wizyt
0 głosów
3 odpowiedzi 300 wizyt

92,596 zapytań

141,446 odpowiedzi

319,719 komentarzy

61,980 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...