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 rsync
co około 10 sekund, aby zsynchronizować dysk z dyskiem RAM. Następnie uruchamiamy kompilację z napędu RAM. rsync
Jest niezwykle szybkie, ale czy to naprawdę działa? Z pewnością system operacyjny mógłby zrobić lepiej ...
time
podać swoją kompilację i podzielić się z nami wynikiem? Rozwiałoby to pewne kontrowersje. make clean && /usr/bin/time -v make
(nie używaj wbudowanego time
polecenia bash )
time
wbudowany 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, ...