I Needed Better Go Benchmark Visuals, So I Made Vizb

Vizb turns Go benchmark results into beautiful, interactive HTML charts with a single command. The tool automatically organizes your benchmarks by workload and subject.


This content originally appeared on HackerNoon and was authored by Fahim

Benchmarking in Go is straightforward, but visualizing those results? That's where things get messy. When you're comparing different libraries or implementations across various workloads, staring at raw benchmark numbers just doesn't cut it.

I found myself in this exact situation while working with my message queue library, varmq. I needed to compare performance across different scenarios, but existing visualization tools either didn't exist or didn't fit my needs.

So I built Vizb – a CLI tool that transforms Go benchmark results into beautiful, interactive HTML charts with a single command.

The Magic is in the Simplicity

go test -bench . -run=^$ -json | vizb -o output.html

That's it. One command, and you get:

  • Interactive HTML charts showing execution time, memory usage, and allocations
  • Responsive design that works on any device
  • Export capability – download charts as PNG images directly from your browser
  • Smart grouping that automatically organizes your benchmarks by workload and subject

Key Features That Actually Matter

Multiple Metrics in One View: Compare execution time, memory usage, and allocation counts side by side.

Customizable Units: Display metrics in your preferred units (ns/μs/ms/s for time, B/KB/MB/GB for memory).

Flexible Input: Works with files or piped input – whatever fits your workflow.

JSON Output: Need the data in a different format? Use --format json to get structured data instead of HTML.

Real-World Example

Here's how Vizb automatically groups your benchmarks. If you have:

BenchmarkEncoder/small/json
BenchmarkEncoder/small/msgpack
BenchmarkEncoder/large/json
BenchmarkEncoder/large/msgpack

Vizb creates charts where:

  • Test: Encoder
  • Workloads: small, large
  • Subjects: json, msgpack

The result? Clean, organized charts that make performance differences immediately obvious.

Why It Matters

When you're optimizing code or choosing between libraries, you need insights, not raw numbers. Vizb turns your benchmark data into actionable visualizations that help you make better decisions faster.

Check it out: github.com/goptics/vizb

Check out the live chart benchmarks: varmq-benchmark

Install it with: go install github.com/goptics/vizb

Happy benchmarking! 🚀


This content originally appeared on HackerNoon and was authored by Fahim


Print Share Comment Cite Upload Translate Updates
APA

Fahim | Sciencx (2025-06-27T01:50:47+00:00) I Needed Better Go Benchmark Visuals, So I Made Vizb. Retrieved from https://www.scien.cx/2025/06/27/i-needed-better-go-benchmark-visuals-so-i-made-vizb/

MLA
" » I Needed Better Go Benchmark Visuals, So I Made Vizb." Fahim | Sciencx - Friday June 27, 2025, https://www.scien.cx/2025/06/27/i-needed-better-go-benchmark-visuals-so-i-made-vizb/
HARVARD
Fahim | Sciencx Friday June 27, 2025 » I Needed Better Go Benchmark Visuals, So I Made Vizb., viewed ,<https://www.scien.cx/2025/06/27/i-needed-better-go-benchmark-visuals-so-i-made-vizb/>
VANCOUVER
Fahim | Sciencx - » I Needed Better Go Benchmark Visuals, So I Made Vizb. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2025/06/27/i-needed-better-go-benchmark-visuals-so-i-made-vizb/
CHICAGO
" » I Needed Better Go Benchmark Visuals, So I Made Vizb." Fahim | Sciencx - Accessed . https://www.scien.cx/2025/06/27/i-needed-better-go-benchmark-visuals-so-i-made-vizb/
IEEE
" » I Needed Better Go Benchmark Visuals, So I Made Vizb." Fahim | Sciencx [Online]. Available: https://www.scien.cx/2025/06/27/i-needed-better-go-benchmark-visuals-so-i-made-vizb/. [Accessed: ]
rf:citation
» I Needed Better Go Benchmark Visuals, So I Made Vizb | Fahim | Sciencx | https://www.scien.cx/2025/06/27/i-needed-better-go-benchmark-visuals-so-i-made-vizb/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.