24.3.0 sürümü, LogoRRR kod tabanına JMH kıyaslama altyapısı ekliyor.
JMH — Java Microbenchmark Harness — JVM performans ölçümü için standart araçtır. LogoRRR, büyük dosyaları işlerken her çalıştırmada tek tek log satırlarını milyonlarca kez işler; bu da bazı iç döngüleri gerçek anlamda performansa duyarlı kılar. JMH, tam olarak bu tür sık çalışan kod yolları için tekrarlanabilir ve güvenilir ölçümler sunar.
Kurulum
LogoRRR Scala ile yazılmıştır ancak derleme aracı olarak Maven kullanmaktadır — bu biraz alışılmadık olmakla birlikte burada iyi çalışmaktadır. Standart Maven arketipi aracılığıyla JMH’yi başlatmak oldukça kolaydı. Kıyaslamaların kendisi Java ile yazılmıştır; ancak Scala kod tabanı, kıyaslamaların doğrudan çağırabileceği temiz giriş noktaları sunmaktadır.
Sonuçlar
Bu çalışmaya girerken, dosya yüklemesi sırasında çok sık çağrılan belirli bir işlevin zaten makul ölçüde hızlı olduğu varsayımı mevcuttu. JMH bu varsayımın yanlış olduğunu kanıtladı. Ölçümler yapılıp yinelemeler gerçekleştirildikten sonra söz konusu işlevin iş hacmi iki katından fazla artırıldı. Bu tür sonuçlar tam da kıyaslamaların var oluş nedenini yansıtır: tahminlerin yerini veriyle doldururlar.
LogoRRR bu çalışmadan önce de büyük log dosyalarını işleyebiliyordu. Bu iyileştirmelerle birlikte artık onları daha hızlı işliyor — üstelik kıyaslama altyapısı gelecekteki sürümlerde gerilemeleri yakalamak için yerinde.
JMH gibi araçlar, gerçekten neyin işe yaradığını gösterir ve tekrarlanabilir sonuçlar sunar.
Başlık fotoğrafı: Nathan Salt, Pexels.
