Co robicie w czasie dużych kompilacji?

1

Jak w temacie.

Co robicie, jeśli kompiluje Wam się duży codebase. Kompilacja trwa kilka godzin i do czasu ukończenia blokuje dalszą pracę, ale trzeba być w gotowości, bo w każdym czasie może wywalić błąd.

22

Szukam luk w kodzie źródłowym 4programmers, a jak takową znajdę to nie mówię nikomu szczegółów, żeby nie zabierać pracy pentesterom.

1

Kod Coyote już mi się znudził :-(

2

Kompilacja trwa kilka godzin

Jesteś programistą C++? :P Jako programista Javy, w czasach przed microserwisami, buildy trwały długo, ale na pewno nie kilka godzin.

Ostatnio jak się nie kłóciłem na forum to czytałem o Foldr Foldl Foldl'. Chyba wreszcie zrozumiałem różnicę :D

1

@KamilAdam: Aktualnie C :P

5

Jak pisałem w C++ to w czasie kompilacji chodziłem po firmie z kawą albo walczyłem na miecze.

screenshot-20220408131936.png

4

Sprzątam śmieci z forum. A, że śmieci niezbyt bystre, to i długich kompilacji do tego nie potrzebuję.

1

A czy śmieci tak sobie nagrabiły, że do końca życia będą kolekcjonować bany, czy jednak mogą liczyć na recycling? ;-)

2

Wtedy robię refactor testów bo są źle napisane. W aktualnym projekcie build trwał 45min teraz 3min po moich zmianach.

9

Zaglądam na forum z takim zielonym, srającym ludzikiem.

2

Śmigam po necie przez kwadrans, po czym patrzę na wynik a tu syntax error w skrypcie do budowania.

1

Co robicie, jeśli kompiluje Wam się duży codebase. Kompilacja trwa kilka godzin i do czasu ukończenia blokuje dalszą pracę, ale trzeba być w gotowości, bo w każdym czasie może wywalić błąd.

Na szczęście w JS długi build to taki, który trwa z kilkadziesiąt sekund, a nie kilka godzin, więc aż tak dużo tego czasu nie ma. Okej, może do kilku minut dochodzi jak się stawia projekt i robi npm install. Ale, że kilka godzin, to się nie spotkałem jeszcze.

3

Idę spać

0
KamilAdam napisał(a):

Jesteś programistą C++? :P Jako programista Javy, w czasach przed microserwisami, buildy trwały długo, ale na pewno nie kilka godzin.

Buildy gier AAA mogą trochę trwać.

2
Spine napisał(a):
KamilAdam napisał(a):

Jesteś programistą C++? :P Jako programista Javy, w czasach przed microserwisami, buildy trwały długo, ale na pewno nie kilka godzin.

Buildy gier AAA mogą trochę trwać.

Nie dzieli się tego na biblioteki? Wszystko trzyma się w jednym projekcie i za każdym razem wszystkie kody od początku kompiluje? Pytam bo nigdy nie widziałem dużego projektu w C++

1

@KamilAdam: Jak robisz build w Unity, to on zbiera wszystkie dane, ładuje je do paczek, w razie potrzeby konwertuje.
Jak masz teraz gry, które ważą dziesiątki/setki GB, to trochę to trwa ;)

No i kod gry oraz shadery się kompilują.
Kod jest przerabiany z C# na C++ za pomocą il2cpp.

0

W poprzedniej firmie oprócz przeglądania internetu i oglądania filmików grałem w pokera. No, ale pisałem soft na maszyny hazardowe (tz jednoręki bandyta) to chyba zaliczało się do pracy :D.

@KamilAdam: nie pracuje w gamedevie, ale tak ogólnie to zależy od projektu, czasem aby przetestować coś na realnym urządzeniu trzeba skompilować cały soft.

2

Optymalizuje

1

Obecnie nie mam takich sytuacji ;). Jak odpalę wszystkie testy w większych projektach, to chodzi to dłużej, ale zazwyczaj góra kilka minut jeśli lecą jakieś testy integracyjne, które np. stawiają jakąś bazę. Najczęściej nie odpalam wszystkich testów lokalnie, tylko konkretne pojedyncze testy, a wszystkie lecą na CI. Natomiast kompilacja sama w sobie w dowolnym projekcie (zajmuję się kilkoma) trwa max kilka sekund.

PS. Słyszałem, że podobno takie projekty jak MS Office kompilują 1 albo 2 dni xD

0

PS. Słyszałem, że podobno takie projekty jak MS Office kompilują 1 albo 2 dni xD

Zdziwiłby mnie ten wynik bardzo, chyba że na laptopie razem z testami mutacyjnymi. Mam Gentoo — zbudowanie systemu od zera, z -O3 -flto=auto to mniej niż dziesięć godzin. Na całość, łącznie. Z tego co mam, najdłużej kompiluje się Firefox — godzinę.

Chromium jest gorsze pod tym względem, potrafi dojść do dziesięciu godzin nawet — na średniej klasy komputerze biurowym. Coś czuję jednak, że MS Office nie jest kompilowany na czymś takim, tylko jednak serwerze za grubą kasę.

0
Althorion napisał(a):

Chromium jest gorsze pod tym względem, potrafi dojść do dziesięciu godzin nawet — na średniej klasy komputerze biurowym. Coś czuję jednak, że MS Office nie jest kompilowany na czymś takim, tylko jednak serwerze za grubą kasę.

Na Macbooku ostatnio jak patrzyłem to Firefox waży ~30% tego co Chrome (~900MB).

1

Przeglądam co się dzieje podczas builda że to zajmuje tyle czasu żeby się więcej nie powtórzyło.
Ewentualnie zmieniam pracę żeby pracować w projekcie / języku gdzie to tyle nie zajmuje

4
obscurity napisał(a):

Ewentualnie zmieniam pracę żeby pracować w projekcie / języku gdzie to tyle nie zajmuje

Przynajmniej wiesz, co napiszesz w liście motywacyjnym :]

"Zmieniam pracę, bo za długo się buduje!"

"W czasie tego builda już zdążyłem 2 razy zmienić pracę!"

1
lgtk napisał(a):

Idę spać

A masz jakiś alarm na wypadek błędu?

2

Akurat nie kompilacja, ale lata temu widziałem system płacowy, liczący płace w jednej z kopalń, więc obliczenia trochę trwały. Na koniec był alarm - kilka taktów (chyba Mozart) zagranych na PC Speakerze. System pisany w Clipperze, działający oczywiście pod DOS i na Novell Netware.

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