Build süresini CCACHE ile 50 saniyeden 5 saniyeye indirmek

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 225

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Yeni videom yayında arkadaşlar;


CCACHE ile Metin2 Derleme Süresini 50 Saniyeden 5 Saniyeye Nasıl İndirilir?

Metin2 sunucularını FreeBSD üzerinde derlemek isteyen geliştiriciler için derleme süresi oldukça kritik bir performans faktörüdür. Özellikle büyük projelerde kod değişiklikleri sonrası tekrar derleme işlemi uzun sürebilir. Bu durumda CCACHE gibi bir araç devreye girerek derleme süresini ciddi anlamda azaltabilir. Bu yazıda, FreeBSD tabanlı bir Metin2 geliştirme ortamında CCACHE kullanarak build süresini 50 saniyeden 5 saniyeye nasıl düşüreceğinizi adım adım anlatıyoruz.

CCACHE Nedir?
CCACHE, C/C++ derleyici çıktılarını önbelleğe alarak aynı kod parçalarının tekrar derlenmesini engelleyen bir önbellekleme sistemidir. Derleme sırasında kullanılan komutlar ve dosyaların hash değerleri kontrol edilir. Eğer daha önce aynı kodla aynı derleyici ayarları kullanılmışsa, derleme işlemi atlanır ve önbellekten alınır. Bu sayede derleme süresi ciddi şekilde azalır.

FreeBSD Üzerinde CCACHE Kurulumu
Öncelikle FreeBSD sunucunuza erişim sağlayın. CCACHE paketini doğrudan ports veya pkg aracılığıyla yükleyebilirsiniz:

Kod:
[B]pkg install ccache[/B]


Alternatif olarak_ports üzerinden derlemek isterseniz:

Kod:
[B]cd /usr/ports/devel/ccache && make install clean[/B]


CCACHE Ayarları ve Kullanımı
Kurulum tamamlandıktan sonra, CCACHE kullanabilmek için derleme komutlarınızda gcc veya clang yerine doğrudan ccache komutunu kullanmanız gerekir. Örneğin:

Kod:
[B]ccache gcc main.cpp -o output[/B]


Ayrıca, tüm sistemi ccache ile derlemeye yönlendirmek için çevre değişkenlerini ayarlayabilirsiniz:

Kod:
[B]export CC='ccache gcc'[/B][BR][/BR][B]export CXX='ccache g++'[/B]


Bu ayarlar sayesinde, Metin2 sunucu derlemelerinde kullanılan make, cmake gibi komutlar otomatik olarak ccache üzerinden çalışacaktır.

Metin2 FreeBSD Derleme Sürecine Entegrasyon
Metin2 src klasöründe build işlemi yaparken, CCACHE sayesinde değişmeyen dosyaların tekrar derlenmesi engellenir. Özellikle büyük çaplı projelerde bu, sürekli derleme süreçlerinde ciddi bir zaman tasarrufu sağlar. FreeBSD sistemlerde clang derleyicisi yaygın olduğu için, clang ile ccache uyumu da oldukça iyidir.

Örnek bir derleme komutu şu şekildedir:

Kod:
[B]ccache clang++ -std=c++17 -O2 -o metin2_game src/*.cpp[/B]


CCACHE Performans Artışı
İlk derlemede CCACHE fayda sağlamasa da, ikinci ve sonraki derlemelerde performans artışı gözle görülür olur. Örneğin 50 saniyelik bir build süresi, ccache sayesinde 5 saniye civarına düşebilir. Bu özellikle sürekli entegrasyon (CI) süreçlerinde büyük kolaylık sağlar.

Sonuç
CCACHE, Metin2 gibi büyük ve sık sık derlenen projelerde zaman kazandıran güçlü bir araçtır. FreeBSD sistemlerde kullanımı kolaydır ve derleme sürelerini ciddi anlamda azaltabilir. CCACHE ayarlarını doğru şekilde yapılandırarak, hem geliştirme verimliliğini artırabilir hem de derleme sürecini optimize edebilirsiniz.

Kaynak: Metin2Lobby


How to Reduce Build Time from 50 Seconds to 5 Seconds with CCACHE

For developers building Metin2 servers on FreeBSD, build time is a critical performance factor. Especially in large projects, recompilation after code changes can take considerable time. In such cases, tools like CCACHE can significantly reduce build time by caching compilation outputs. This article explains step-by-step how to use CCACHE on a FreeBSD-based Metin2 development environment to reduce build time from 50 seconds to just 5 seconds.

What is CCACHE?
CCACHE is a caching mechanism that stores C/C++ compiler outputs, preventing the same code snippets from being recompiled. During compilation, command and file hashes are checked. If the same code and compiler settings were used before, the compilation step is skipped, and the result is retrieved from cache. This significantly reduces compilation time.

Installing CCACHE on FreeBSD
Firstly, connect to your FreeBSD server. You can install the CCACHE package via ports or pkg:

Kod:
[B]pkg install ccache[/B]


Alternatively, you can compile it via ports:

Kod:
[B]cd /usr/ports/devel/ccache && make install clean[/B]


Configuring and Using CCACHE
After installation, you need to use the 'ccache' command instead of gcc or clang in your compilation commands. For example:

Kod:
[B]ccache gcc main.cpp -o output[/B]


To globally direct builds through ccache, set environment variables:

Kod:
[B]export CC='ccache gcc'[/B][BR][/BR][B]export CXX='ccache g++'[/B]


With these settings, commands like make or cmake will automatically work via ccache during Metin2 server builds.

Integration into Metin2 FreeBSD Build Process
When building within the Metin2 src directory, unchanged files will not be recompiled thanks to CCACHE. This provides significant time savings in continuous build processes, especially in large-scale projects. Since clang is commonly used on FreeBSD systems, compatibility between clang and ccache works very well.

An example build command looks like this:

Kod:
[B]ccache clang++ -std=c++17 -O2 -o metin2_game src/*.cpp[/B]


CCACHE Performance Improvement
While CCACHE may not provide benefits during the first compilation, subsequent builds show visible performance improvements. For instance, a 50-second build process can drop down to around 5 seconds with ccache. This is especially useful in continuous integration (CI) workflows.

Conclusion
CCACHE is a powerful tool for reducing build times in frequently compiled large projects like Metin2. It’s easy to use on FreeBSD systems and can dramatically cut build times. By properly configuring CCACHE, you can increase both development efficiency and optimize the build process.

Source: Metin2Lobby
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Geri
Üst Alt