Golang Benchmark

Statistisk rigorøs Go-ytelsestesting, pprof-profilering og benchstat-regresjonsarbeidsflyt

av samber · samber/cc-skills-golang

Bestått ★ 9.2/10

Golang Benchmark — Statistisk rigorøs Go-ytelsestesting, pprof-profilering og benchstat-regresjonsarbeidsflyt

Hva den gjør

Veileder i skriving og kjøring av Go-ytelsestester (b.Loop()/b.N, ReportAllocs, sub-benchmarks), profilering av 'hot paths' med pprof/trace, og sammenligning av varianter med benchstats p-verdi-støttede statistikk, pluss CI-regresjonsgating og Prometheus kjøretidsmetrikker i produksjon. Utløses når en utvikler trenger å skrive, kjøre eller sammenligne Go-ytelsestester, tolke CPU/minne-profiler, eller undersøke en spesifikk ytelsesregresjon.

Testrapport

Installerte Go 1.26.5 og benchstat (installasjonskommandoen fra Dependencies fungerte ordrett) og kjørte den dokumenterte arbeidsflyten på en ekte modul: naiv sammenkobling vs. strings.Builder, ReportAllocs + b.Loop() + -count=10 + benchstat ga -81.50% sec/op (p=0.000, n=10), -88.68% B/op, -92.86% allocs/op nøyaktig i det tre-tabells commit-formatet beskrevet i SKILL.md. Den uadministrerte grunnlinjen kjørte én gang og fikk 324.1 -> 59.46 ns/op uten allokeringer eller statistikk — benchstat viste et ±105% spredning for den gamle versjonen, noe som betyr at grunnlinjetallet var tilfeldig, selv om det gjettet retningen. Relativt til vår 10.07-test la forfatteren til en ny 'File and Ordering Conventions'-seksjon (versjon 1.2.5 -> 1.2.6): ytelsestester i en separat fil navngitt etter kilden (parser.go -> parser_bench_test.go) og Benchmark*-rekkefølge som i kilden. Konvensjonen i seg selv er ufarlig, men dens begrunnelse ble sjekket og funnet feil: en fixture med typefeil ble plassert i _bench_test.go — `go test -run . -short` feilet fortsatt kompilering, og `go test -bench=.` kjørte fortsatt TestJoin, noe som betyr at filseparasjon verken gir 'do not compile bench-fixtures' eller 'utdata uten Test*-støy'. Ferdighetens kjerne er urørt, så dommen forblir den samme, men dokumentasjon 5 -> 4 for denne falske begrunnelsen.

Testet på: 2026-07-10 · Claude Code 2.x (agent harness)

Installer

git clone https://github.com/samber/cc-skills-golang.git
mkdir -p ~/.claude/skills
cd cc-skills-golang && cp -r skills/golang-benchmark ~/.claude/skills/golang-benchmark

Kommandoer og eksempelprompter

  • /golang-benchmarkStatistisk rigorøs Go-ytelsestesting, pprof-profilering og benchstat-regresjonsarbeidsflyt

Skills utløses av vanlige forespørsler — ingen kommandoer å huske. Etter installasjonen aktiverer prompter som disse skillen (på engelsk):

  • Write a Go benchmark for this hot function using b.Loop
  • Compare these two benchmark variants with benchstat
  • Profile this Go service's CPU usage with pprof