benchfmt.rs: Herramienta de benchmarking para Rust con formato Go

Fuentes: benchfmt.rs: Rust benchmarking tool with Go-compatible output

benchfmt.rs es una herramienta de ejecución de benchmarks para Rust que introduce un flujo de trabajo similar al de Go, permitiendo comparar el rendimiento entre ambos lenguajes mediante salidas compatibles con benchstat. El proyecto, desarrollado por bwplotka, resuelve la falta de herramientas estándar en Rust para microbenchmarks A/B, ofreciendo un formato de proyección /key=value, seguimiento de asignaciones de memoria (B/op y allocs/op) y soporte para pprof. La herramienta es de dependencia cero y convierte los resultados a Criterion o libtest, emitiendo directamente el formato de Go para facilitar la comparación directa. El artículo detalla la implementación de dos cargas de trabajo específicas: la decodificación de varint (LEB128) y la decodificación de payloads del protocolo Prometheus Remote Write 2.0. Se comparan implementaciones en Go y Rust utilizando frameworks como vtprotobuf y github.com/golang/snappy, midiendo la eficiencia en la decodificación de flujos de datos comprimidos. El texto destaca la importancia de la consistencia en las métricas de rendimiento para evaluar la superioridad de Rust en tareas de decodificación de protobuf, un cuello de botella común en sistemas distribuidos. Además, se analizan las limitaciones de las herramientas de benchmarking estándar de Rust frente a la experiencia familiar de los desarrolladores con Go, argumentando que la adopción de este formato unifica la experiencia de desarrollo y mejora la capacidad de realizar pruebas de rendimiento comparativas precisas.