Ana içeriğe geç
Programlama

Benchfmt.rs kütüphanesi Go performans kıyaslama araçlarını Rust ekosistemine taşıyor

Öne çıkanlar

  • benchfmt.rs, Rust mikro benchmark sonuçlarını Go benchstat formatında çıktı verecek şekilde dönüştürüyor.
  • CountingAlloc mekanizması harici bağımlılık olmadan işlem başına bellek tahsisatını (B/op) kaydediyor.
  • Yapılan varint testinde Rust kodu Go uygulamasına kıyasla yüzde 37 daha hızlı tamamlandı.

Geliştirici Bartłomiej Płotka, Go ekosisteminde yaygın kullanılan benchstat iş akışını ve çıktı formatını Rust projelerine getiren bağımsız benchfmt.rs kütüphanesini yayımladı. Sıfır bağımlılık ilkesiyle geliştirilen araç, Rust testlerinde thread-local heap bellek takibi yapılmasını sağlıyor ve Criterion çıktısını Go benchfmt biçimine dönüştürüyor.

Çalışmada varint kod çözme ve Prometheus Remote Write 2.0 iş yükleri Go ile Rust dillerinde karşılaştırıldı. Criterion kütüphanesinin derleme süresi yükü ve bellek tahsisatı ölçememe gibi eksikliklerine dikkat çeken Płotka, benchfmt.rs içindeki CountingAlloc mekanizmasıyla işlem başına bayt ve nesne sayımını doğrudan raporlayan bir çalışma ortamı kurguladı.

Elde edilen sonuçlara göre Rust uygulaması varint testinde Go sürümüne kıyasla yüzde 37 daha hızlı çalıştı. Prometheus yükünde ise Rust tarafında yüzde 13 ila 15 civarında performans avantajı ölçüldü. Yeni kütüphane, Go'nun yerleşik test komut satırı bayraklarıyla uyumlu çalışarak diller arası doğrudan A/B kıyaslamasını kolaylaştırıyor.

Kaynak

Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.