Show HN: Benchi – A benchmarking tool written in Go
58 lmazgon 7 4/3/2025, 2:28:37 PM github.com ↗
Benchi is a CLI tool for running benchmarks and collecting metrics. It's using Docker Compose to orchestrate the infrastructure and tools being benchmarked, making it repeatable and runnable on different machines. It allows you to run the same benchmark for different tools and compare the collected results.
The repository contains a simple example. For a more elaborate example see how we use Benchi to compare data pipelines running on Conduit and Kafka Connect, two data streaming tools (still work in progress): https://github.com/ConduitIO/streaming-benchmarks
Other than that, just like always, run benchmark on a stable dedicated set of hardware.
In our use case we wanted a way to quickly and easily set up benchmarks that would allow us to compare our software to our competitors under the same conditions. Given that Benchi can run the same benchmark scenario for different tools, the results are comparable with each other. We also run all benchmarks on an empty AWS EC2 instance, to minimize any other factors. But does that mean that the collected results show the absolute limit of what the tools can handle? Probably not. Under different conditions, results can change, but that's just the nature of benchmarks.