CCACHE - Kaynak Dosyalarını Çok Daha Hızlı Derleme

  • Konuyu açan Konuyu açan melihalbayrak
  • Açılış Tarihi Açılış Tarihi
  • Seçkin
  • Yanıt Yanıt 21
  • Gösterim Gösterim 5K

melihalbayrak

Geliştirici
Geliştirici
Yardımsever Üye
Usta Üye
Mesaj
1.241
Çözümler
81
Beğeni
677
Puan
1.109
Ticaret Puanı
0
CCache ile derleme işlemini birçok kişi biliyor fakat nasıl kullanılacağına dair bir anlatım yok. Bu derleme metodu ccache kurduktan ilk dosyalarınızı normal sürede derlersiniz ve ccache derlediğiniz dosyaları önbelleğe kopyalar bu sayede diğer derlemelerinizi yaparken build süresi 10 dakika ise bu şekilde 1 dakikaya düşer.

CCache'de temizleme komutlarıda var bunlar;

ccache --cleanup

ccache --clean

Kurulum;

İşlem çok basit. Derleme yaptığınız sunucuya bağlanıyorsunu ve şu komutu giriyorsunuz;

pkg install ccache

Kurulumu yaptıktan sonra makefile dosyalarınızda düzenleme yapmamız gerekiyor. Makefile dosyalarınızca gcc sürümünüzü yazdığınız kısımın başına ccache ekliyoruz ve bu kadar başka bir işlem gerekmiyor. Bu işlemi tüm dosyalarınızdaki makefile dosyalarına eklemeniz gerekiyor örnek bir dosya görüntüsü;

Ekran görüntüsü 2021-04-25 220302.jpg
Ekran görüntüsü 2021-04-25 220334.jpg


Bu işlemi tüm dosyalarda yaptıktan sonra tek farklı işlem liblua klasöründe. Liblua klasöründeki config dosyası içine yazmanız gerekiyor ccache eklemesini o da şu şekilde;


Ekran görüntüsü 2021-04-25 220518.jpg
 
visual studio msntığı sezdim 1 tık, visualdede clean çekmeyince sadece ilgili kısımları build ediyor
 
Konu sorunsuz çalışıyor. denedim cidden 1 dk ya ediyorum valla viyyyy dedim :D şok olarak.

çok işime yarıycak ve herkesin tabiki yarayacak kendisine teşekkür ediyorum. Ve konunun sabite alınmasını talep ediyorum yetkililerden..

Hocam şu build ekranı renklendirmeyi de paylaşırmısın sana zahmet? benim bulduklarım hata veriyor olmuyor @melihalbayrak
 
Hocam şu build ekranı renklendirmeyi de paylaşırmısın sana zahmet? benim bulduklarım hata veriyor olmuyor @melihalbayrak
Kullanmıyorum o yüzden paylaşımda bulunamam ama başka bir filesin makefile dosyası ile karşılaştır kendi makefile dosyanı renk kodlarının eklendiğini görürsün zaten çok basit bir işlem. Sadece renklendirilmiş makefile bulman gerekiyor.
 
En son bir moderatör tarafından düzenlenmiş:
bu build yöntemini oyun açarken kullanmak ne kadar mantıklı ? sorun çıkarır mı acaba deneyen var mı hiç canlı oyuna ccache derlenmiş game kullanan bilgin var mı melih ?
 
bu build yöntemini oyun açarken kullanmak ne kadar mantıklı ? sorun çıkarır mı acaba deneyen var mı hiç canlı oyuna ccache derlenmiş game kullanan bilgin var mı melih ?
Bunu niye ultra manyak bişey gibi gördün anlamadım ne gibi bir sorun çıkarabilir ki derlemede değişiklik yapılmamış bir dosya varsa onu önbelleğe kaydettiği kısımdan alarak tekrar tekrar gereksiz yere derleyip zaman kaybını önlüyor. Visual studioda derlerken nasıl değişiklik yapılmış bir dosyayı ve onunla ilgili dosyaları derleyip geri kalanını atlıyorsa bu da aynı mantık. Ha emin olamazsın geliştirmede ccache ile derle oyunu global açarsın o zaman normal derler oyuna start verirsin.
 
Bunu niye ultra manyak bişey gibi gördün anlamadım ne gibi bir sorun çıkarabilir ki derlemede değişiklik yapılmamış bir dosya varsa onu önbelleğe kaydettiği kısımdan alarak tekrar tekrar gereksiz yere derleyip zaman kaybını önlüyor. Visual studioda derlerken nasıl değişiklik yapılmış bir dosyayı ve onunla ilgili dosyaları derleyip geri kalanını atlıyorsa bu da aynı mantık. Ha emin olamazsın geliştirmede ccache ile derle oyunu global açarsın o zaman normal derler oyuna start verirsin.
diğer forumda görmüştüm heralde geliştirici aşamasında kullanmak mantıklıyken normal oyuna normal build edin diyolardı tabi araştırılması lazım
 
Ben ccache kullanıyorum bi zararını local sunucuda görmedim gayet iyi kullanmanızı öneriyorum.
 
Bunun mantığı nedir tam olarak? Sadece değişiklik yapılan dosyayı mi derliyor? Eğer öyle ise bende zaten sadece değişiklik yapılan dosya tekrardan derleniyor doğal olarak. O yüzden aralarındaki farkı ayırt edemedim.
 
Bunun mantığı nedir tam olarak? Sadece değişiklik yapılan dosyayı mi derliyor? Eğer öyle ise bende zaten sadece değişiklik yapılan dosya tekrardan derleniyor doğal olarak. O yüzden aralarındaki farkı ayırt edemedim.
aynen dediğin oluyor zaten .o dosyaları bunun için oluşmuyor mu mantıklı düşününce ?
 
Evet işte bende o yüzden bu cache olayının farkını anlayamadım tam olarak. Belki benim bilmediğim bir ayrıcalığı vardır diye sormak istedim.
Gmake clean komutunda .o dosyaları silinir sıfırdan derler .obj içine alır ama ccache ile gmake clean girildiğinde tümü tekrardan derlenir ama yine önbellekten değişiklik olmayan dosyaları aldığı için saniyeler sürer derlenmesi.

diğer forumda görmüştüm heralde geliştirici aşamasında kullanmak mantıklıyken normal oyuna normal build edin diyolardı tabi araştırılması lazım
Aman o forumda o kadar çok bilmiş var ki her şeye bir cevapları var. Sanki almış aylarca kullanmış oyunu online etmişte sorun yaşamış gibi boş boş her konu altına yazılan boş yorumlar. Geliştirirken kullanırsın oyunu açtıktan sonra zaten herhangi bir derleme acelesi olmayacağı için kullanmak gerekmiyor zaten herkesin kendi bileceği şey ben oyunu açsamda geliştirsemde kullanırım bunu. Kişinin 2 çekirdek 4 gb ramli pc olur alır bu konudan anlatımla taş gibi bir dakika bile sürmeden derlemesini yapar yarım saatte derlemektense.
 
Aman o forumda o kadar çok bilmiş var ki her şeye bir cevapları var. Sanki almış aylarca kullanmış oyunu online etmişte sorun yaşamış gibi boş boş her konu altına yazılan boş yorumlar. Geliştirirken kullanırsın oyunu açtıktan sonra zaten herhangi bir derleme acelesi olmayacağı için kullanmak gerekmiyor zaten herkesin kendi bileceği şey ben oyunu açsamda geliştirsemde kullanırım bunu. Kişinin 2 çekirdek 4 gb ramli pc olur alır bu konudan anlatımla taş gibi bir dakika bile sürmeden derlemesini yapar yarım saatte derlemektense.
ilk derleme uzun sürüyor ama dimi ?
 
En son bir moderatör tarafından düzenlenmiş:
Videosu filan olsa daha iyi olur tam kavrayamayanlar için güzel işlem
 
Kurdum ama hala en baştan alıyor build alırken neden olabilir? ccache clean kodları vs çalışıyor
 
Geri
Üst