Rilis 24.3.0 menambahkan fasilitas benchmarking JMH ke codebase LogoRRR.
JMH — Java Microbenchmark Harness — adalah alat standar untuk pengukuran performa JVM. LogoRRR menangani file besar dengan memproses baris log individual jutaan kali per eksekusi, yang membuat beberapa loop internalnya sangat sensitif terhadap performa. JMH memberikan angka yang dapat direproduksi dan tepercaya untuk jalur panas semacam ini.
Pengaturan
LogoRRR ditulis dalam Scala tetapi menggunakan Maven sebagai alat bangun — yang agak jarang, tetapi bekerja dengan baik di sini. Melakukan bootstrap JMH melalui arketipe Maven standar sangatlah mudah. Benchmark-nya sendiri ditulis dalam Java, tetapi codebase Scala mengekspos titik masuk yang bersih yang dapat dipanggil langsung oleh benchmark.
Hasil
Asumsi awal adalah bahwa fungsi tertentu yang dipanggil sangat sering per pemuatan file sudah cukup cepat. JMH membuktikan asumsi tersebut salah. Setelah mengukur dan mengiterasi, throughput meningkat lebih dari dua kali lipat untuk fungsi tersebut. Hasil semacam itu adalah tujuan sebenarnya dari benchmark: mereka mengganti dugaan dengan data.
LogoRRR sudah mampu menangani file log besar sebelum pekerjaan ini. Dengan peningkatan ini, ia menanganinya lebih cepat — dan infrastruktur benchmarking kini sudah ada untuk menangkap regresi dalam rilis mendatang.
Alat seperti JMH akan menunjukkan apa yang benar-benar berhasil, dan memberikan hasil yang dapat direproduksi.
Foto tajuk oleh Nathan Salt di Pexels.
