benchfmt.rs is a newly released zero-dependency Rust benchmark runner designed to integrate Rust benchmarking with Go's benchstat workflow. It provides a familiar interface for developers accustomed to Go's performance testing tools, addressing perceived gaps in Rust's standard benchmarking ecosystem.
The tool introduces several features to Rust benchmarking, including key-value projections for case comparison, heap allocation measurements (bytes per operation and allocations per operation), and pprof profiling support. It also offers a simple reliability scoring mechanism. For those preferring existing Rust tools, benchfmt.rs includes a converter for Criterion and libtest outputs into Go's benchfmt format.
The developer, experienced in performance-sensitive Go projects like Prometheus and Thanos, noted that Rust's standard benchmarking tools lacked features common in the Go ecosystem, such as a standard format for comparisons, heap allocation metrics, and pprof support. The goal was to enable benchstat-compatible output for Rust microbenchmarks to facilitate A/B testing and Go vs. Rust performance comparisons.
To demonstrate its utility, the developer used benchfmt.rs to benchmark varint and Prometheus Remote Write 2.0 decoding across both Go and Rust implementations. This practical application showcases how the tool can be used to compare performance between the two languages and different Rust benchmarking frameworks.
✨ This summary was generated by AI from the outlets' reporting listed below. It is not independently verified and may contain errors — check the original sources. How BrevFeed works →
One email each morning: the day's tech stories, clustered across outlets and summarized. No account needed.
One email a day. Unsubscribe in one click, any time.
Spend a few minutes, get the whole day. Every topic's top stories in one hands-free rundown — listen, watch, or read the transcript.
▶ Play today's briefNew every morning, and the back catalogue is archived by date.
benchfmt.rs is a new zero-dependency Rust benchmark runner and Criterion converter that produces output compatible with Go's benchstat tool. It adds features like key-value projections, heap tracking for allocated bytes and objects, and pprof profiling to Rust benchmarking. This tool aims to simplify A/B microbenchmarking in Rust and enable direct comparisons with Go performance.