A versão 24.3.0 adiciona recursos de benchmarking JMH à base de código do LogoRRR.
O JMH — o Java Microbenchmark Harness — é a ferramenta padrão para medição de desempenho na JVM. O LogoRRR lida com arquivos grandes processando linhas de log individuais milhões de vezes por execução, o que torna alguns de seus laços internos genuinamente sensíveis ao desempenho. O JMH fornece números reproduzíveis e confiáveis exatamente para esse tipo de caminho quente.
Configuração
O LogoRRR é escrito em Scala, mas usa Maven como ferramenta de build — algo incomum, mas que funciona bem aqui. Inicializar o JMH via o archetype Maven padrão foi simples. Os próprios benchmarks são escritos em Java, mas a base de código Scala expõe pontos de entrada limpos que os benchmarks podem chamar diretamente.
Resultados
A hipótese inicial era que uma função específica, chamada com muita frequência durante o carregamento de arquivos, já era razoavelmente rápida. O JMH provou que essa hipótese estava errada. Após medir e iterar, a taxa de transferência dessa função mais que dobrou. Esse tipo de resultado é exatamente para o que servem os benchmarks: eles substituem suposições por dados.
O LogoRRR já era capaz de lidar com arquivos de log grandes antes desse trabalho. Com essas melhorias, ele os processa mais rapidamente — e a infraestrutura de benchmarking agora está disponível para detectar regressões em versões futuras.
Ferramentas como o JMH mostrarão o que realmente funciona e fornecerão resultados reproduzíveis.
Foto do cabeçalho por Nathan Salt no Pexels.
