kache Dengesiz: daha hızlı artımlı derlemeler için sıfır kopya yapı önbelleği
kache Unstable, içerik adresli, sıfır kopya önbellekleme kullanarak eşleşen derleyici çıktılarının geri yüklenmesini sağlar, böylece iş ağaçları arasında gereksiz derlemeleri atlayarak yerel geliştirme ve CI için derleme döngülerini azaltır. Zondax AG tarafından Kunobi paketinin bir parçası olarak oluşturulan bu sürüm, yazılım mühendisleri ve DevOps ekiplerine yöneliktir. Rust, C/C++ ve CUDA'yı destekler, yerel ve S3/GCS uyumlu uzak arka uçlar sunar ve önbellek izleme ve RUSTC_WRAPPER entegrasyonu için bir komut satırı arayüzü sağlar.
kache'in önceki derleme çıktıları nasıl tespit edip yeniden kullandığı
kache, giriş içeriği ve derleyici meta verileri ile anahtarlanan çıktıları kaydeden bir içerik adresli depolama katmanı ve derleyici sarmalayıcı olarak çalışır. Kaynak ve bağımlılıklar bir önbellek girişine uyduğunda, araç derleyiciyi çalıştırmak yerine eseri geri yükler. Bu, RUSTC_WRAPPER aracılığıyla Rust için ve C/C++ ile CUDA araç zincirleri için geçerlidir ve Cargo, CMake ve Make ile entegre olarak derleme adımlarını yakalar.
Geri yüklemeler ve taramalar sırasında beklenebilecek sistem etkisi
Geri yüklemeler, veri kopyalamaktan kaçınmak için uyumlu dosya sistemlerinde reflink-first stratejisi kullanır, bu da tam dosya yazımlarına kıyasla disk I/O'yu azaltır. Yerel önbellek, alanı geri kazanmak için otomatik çöp toplama içerir ve uzak arka uçlar depolamayı S3/GCS uyumlu uç noktalara devreder. Tasarım, çalışma zamanı yükünü tekrar derleme CPU kullanımından ziyade meta veri aramalarına odaklar.
Güvenlik, uzak paylaşım ve CI entegrasyonu
kache, uzak depolamayı destekler ve GitHub Actions gibi CI/CD ortamlarıyla çalışarak koşucular arasında eserleri paylaşır ve önbellek vuruşlarını ve kaçırmalarını izlemek için bir komut satırı arayüzü sunar. Unstable kanalı, erken optimizasyonlar ve sürüm adayları sunar, bu nedenle ekipler bu kanaldan gelen derlemeleri üretim hatlarında deneysel olarak değerlendirmelidir.
Aracı kimler kullanabilir ve hangi uzmanlık gerektirir
Araç, komut satırı araçları ve derleme sistemi kancaları ile rahat olan mühendisleri hedefler. Başlatma ve izleme CLI aracılığıyla gerçekleşir ve kurulum, derleyici sarmalayıcılarının ve isteğe bağlı uzak arka uçların yapılandırılmasını gerektirir. Aynı inceleme, kache'in genellikle Rust ağırlıklı projeler için sccache yerine tercih edildiğini belirtir, bu da artımlı derleme inceliklerine aşina bir geliştirici kitlesini işaret eder.
Geliştirme ekipleri için pratik yargı
kache, daha hızlı artımlı derlemelere ihtiyaç duyan mühendisler ve DevOps profesyonelleri için uygundur ve derleyici sarmalayıcı yapılandırmasını yönetebilir. Unstable kanalı, deneysel optimizasyonlara erişim sağlar, bu nedenle bunu kritik sürüm derlemeleri yerine geliştirme ve CI denemeleri için kullanın. Tavsiye edilir.