Testowałem różne metody, aby skrócić czas kompilacji całego mojego projektu w C ++. Obecnie zajmuje to około 5 minut. Eksperymentowałem z distcc, ccache i innymi. Niedawno odkryłem, że jeśli skopiuję cały projekt na dysk RAM, a następnie skompiluję stamtąd, skróci to czas kompilacji do 30% jego oryginalnego - zaledwie 1,5 minuty.
Oczywiście praca z napędu RAM nie jest praktyczna. Czy ktoś wie, w jaki sposób mogę zmusić system operacyjny do przechowywania określonego katalogu w pamięci podręcznej ? Nadal chcę, aby katalog został zsynchronizowany z powrotem na dysk, jak zwykle, ale zawsze chcę również kopię danych w pamięci. czy to możliwe?
EDYCJA:
Jako możliwe rozwiązanie, właśnie pomyśleliśmy o uruchomieniu demona, który działa rsyncco około 10 sekund, aby zsynchronizować dysk z dyskiem RAM. Następnie uruchamiamy kompilację z napędu RAM. rsyncJest niezwykle szybkie, ale czy to naprawdę działa? Z pewnością system operacyjny mógłby zrobić lepiej ...
timepodać swoją kompilację i podzielić się z nami wynikiem? Rozwiałoby to pewne kontrowersje. make clean && /usr/bin/time -v make(nie używaj wbudowanego timepolecenia bash )
timewbudowany bash ( help time) ma o wiele mniej szczegółów (brak opcji pełnych ) niż czas GNU ( man time) dotyczący I / O, przełączników kontekstu, ...