go-performance-test

Compare Go benchmark results against committed baselines using benchstat.

1|Updated Jun 20, 2026
One-click install
npx skills add https://github.com/shafibabar/SDLC-Artifact-Factory --skill go-performance-test
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: go-performance-test
Source: https://github.com/shafibabar/SDLC-Artifact-Factory/tree/main/skills/go-performance-test
Command: npx skills add https://github.com/shafibabar/SDLC-Artifact-Factory --skill go-performance-test

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires golang.org/x/perf/cmd/benchstat, and includes references (resource) components.

What problem does it solve?

This skill prevents performance degradation by replacing manual, ad-hoc benchmarking with a rigorous, CI-enforced statistical gate that catches regressions before they reach production.

Core Features & Use Cases

  • Statistical Regression Gate: Uses benchstat and a 10-run sweep to distinguish between genuine performance regressions and CI runner noise.
  • Committed Baselines: Maintains a version-controlled performance baseline that ensures performance is treated as a first-class requirement.
  • Use Case: When a developer introduces a change that impacts hot-path latency, this skill automatically fails the build if the regression exceeds a 12% threshold with statistical significance, forcing a deliberate review of the performance trade-off.

Quick Start

Run the go-performance-test skill to validate the current internal package benchmarks against the committed baseline and generate a regression report.

Frequently Asked Questions about go-performance-test

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate performance regression testing for Go in CI?

Automating performance regression testing for Go in CI is done by comparing current benchmark metrics against a committed baseline using benchstat. This skill enforces a CI gate that fails builds when latency or memory regressions exceed a 12% threshold.

How does benchstat distinguish real performance regressions from CI runner noise?

Benchstat distinguishes real performance regressions from CI runner noise by running a 10-sweep statistical analysis. This process identifies significant changes in Go benchmark latency and memory allocation rather than relying on a single run.

What is the best way to enforce performance budgets for critical Go handler logic?

The best way to enforce performance budgets for critical Go handler logic is by maintaining a version-controlled baseline. This skill automatically blocks deployments if a benchmark regression exceeds a statistically significant 12% threshold.

Can I fail a Go build automatically when a benchmark regression exceeds a specific threshold?

Yes, you can fail a Go build automatically when a benchmark regression exceeds a specific threshold. This skill uses benchstat to detect statistically significant regressions over 12% in latency or memory and gates the CI pipeline.

Do I need a committed baseline to run statistical benchmark analysis on my Go application?

Yes, a committed baseline is required to run statistical benchmark analysis on your Go application. This version-controlled baseline ensures performance is treated as a first-class requirement to detect regressions accurately.

Why should I replace manual ad-hoc benchmarking with a statistical regression gate?

You should replace manual ad-hoc benchmarking with a statistical regression gate to prevent performance degradation. This approach uses rigorous benchstat analysis to catch significant regressions before they reach production.