Skip to content(if available)orjump to list(if available)

Show HN: Benchi – A benchmarking tool written in Go

Show HN: Benchi – A benchmarking tool written in Go

6 comments

·April 3, 2025

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

mixologic

How do you control for changes in the host os environment that would affect performance of the system being observed?

spockz

We solve that partially by running the base state and the delta version through concurrently. This way most types of impact will impact both at the same time. This gives us the relative delta between versions.

Other than that, just like always, run benchmark on a stable dedicated set of hardware.

edoceo

And run a bunch of iteration, and mash the results together maybe?

spockz

Yes. Or for a sufficiently long duration. Some things like allocation rate and significantly worse performance are obvious and can be seen in shorter runs.

meling

What’s the overhead of running in docker vs bare metal?

ofirtwo

[flagged]