Tüm c ++ projemi derlemek için harcadığım zamanı geliştirmek için farklı yöntemler denedim. Şu anda ~ 5 dakika sürer. Distcc, ccache ve diğerlerini denedim. Son zamanlarda, tüm projemi bir RAM sürücüsüne kopyalarsam ve sonra oradan derlerseniz derleme zamanını orijinalinin% 30'una düşürdüğünü keşfettim - sadece 1,5 dakika.
Açıkçası, RAM sürücüsünden çalışmak pratik değil. Peki, işletim sistemini her zaman belirli bir dizini önbelleğe almak için zorlayabileceğimi bilen biri var mı? Dizinin hala normal gibi diske geri eşitlenmesini istiyorum, ancak her zaman bellekteki verilerin bir kopyasını da istiyorum. Mümkün mü?
EDIT:
Olası bir çözüm olarak, rsync
disk sürücüsünü bir RAM sürücüyle eşitlemek için her 10 saniyede bir çalışan bir arka plan programı başlatmayı düşündük . Sonra derlemeyi RAM sürücüsünden çalıştırıyoruz. rsync
Hızlı yanan, ama bu gerçekten işe yarar? Tabi ki OS daha iyisini yapabilirdi ....
time
sizin derleme ve bizimle sonucu paylaşmak? Bazı yükseliş tartışmalarını ortadan kaldıracaktı. make clean && /usr/bin/time -v make
( time
Komuta yerleşik bash kullanmayın )
time
Bash basında bashedilen ( help time
), GNU zamanından ( man time
) G / Ç ile ilgili çok daha az ayrıntıya (ayrıntılı seçenek yok) sahiptir ( ), bağlam anahtarları, ...