Visual Studio 2019 derleme süresi düşürmek için tavsiyeler

PasFacile

Kilopat
Katılım
15 Şubat 2019
Mesajlar
477
Çözümler
3
Selam, Unreal Engine ve C++ kullanarak oyun geliştiriyorum. Fakat proje büyüdükçe derleme süresinin uzunluğu canımı sıkmaya başladı. Bazen 10 saniye, bazen 300 saniyeye kadar çıkıyor.

Anakartımın desteklediği limitte bir SSD kullanıyorum (1.500 MB/S). i7 8750H, 16 GB RAM var. Ekstradan bir 16 GB daha eklesem hızda bir iyileşme olur mu? Veya bu hızı arttırmanın başka bir yolu var mıdır? (Ekstradan resharper C++uzantısını kullanıyorum.)
 
İşlemci ve disk dışında bir şeyin etkilediğini düşünmüyorum. 16 GB RAM'İn yeterli olduğunu düşünüyorum. İ7 8750H o kadar küçümsenecek bir işlemci değil ama bu süreler de fazla gibi.
 
Precompiled Header is the answer.

Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
Projeler buyudukce precompile etmekten baska care kalmiyor. Isterseniz 32 core islemciniz olsun. Bazen yuzlerce header ekleniyor. Her biri binlerce hatta onbinlerce satir.
 
Düşürmek istiyorsan ReSharper'i silmeni tavsiye ediyorum. ReSharper hem projenin açılma süresini hemde build edilme süresini artırır. Bunun için ReSharper'in belirli performans artırıcı özelikleri var onlarıda deneyebilirsin.
 
Eklenecek kütüphaneleri derleyip bir köşede obje dosyası olarak saklıyorum, tabi bunu mingw-make yaparak kullanıyorum. Değişmedikleri sürece tekrar derlemene gerek kalmıyor. Sanırım arkadaşın attığı precompiler da benzer bir iş yapıyor. Denemenizde fayda var.
 
ReSharper kullanmadan önce de 300 saniye beklediğimi hatırlıyorum. Ayrıca IntelliSense'in neredeyse hiçbir yardımı dokunmuyor.
Çok teşekkürler, deneyeceğim. Ama farklı sınıflar farklı header'ler kullanıyor, bu işlemi yaparsak bir sınıf kullanmadığı header'a da mı erişecek?
VS'nin default ayarlarında kodda bir değişim olmadığında derleme süresi 1 saniye sürmüyor. Acaba yeni bir header eklendiğinde bütün header'ları tekrardan mı derliyor?
 
VS'nin default ayarlarında kodda bir değişim olmadığında derleme süresi 1 saniye sürmüyor. Acaba yeni bir header eklendiğinde bütün header'ları tekrardan mı derliyor?
VS'in tam olarak nasıl çalıştığını bilmiyorum o konuda ama tahminimce değiştirilmemiş kodu tekrar derlemek zaten saçma olurdu diye düşünüldüğü için derlemeler pas geçiliyor olabilir. Önce projeyi temizleyip sonra derle dediğinizde yapması gerek kod değişmemiş olsa bile.
Makefile yapımı öğrenip elinizle de konsoldan derleyebilirsiniz MinGW kullanarak. VS arada saçmaladığı için C/C++'ı hep Linux sistemlerde elle, mecbursam Windows'da MinGW kullanarak yazıyorum.
 
Tekrar merhaba. Biraz araştırmanın sonucunda Unreal'ın PCH kullanmadığını öğrendim. Onun yerine IWYU sistemini kullanıyorlar. Kurallara dikkat ederek yazdığımız sürede fazla uzun sürmüyor derleme. Sonradan gelenler için yardımı olur belki. Yazan herkese teşekkürler.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…