Golang Benchmark
Benchmarking Go estadísticamente riguroso, perfilado pprof y flujo de trabajo de regresión benchstat
Probado · Funciona
Qué hace
Guía la escritura y ejecución de benchmarks Go (b.Loop()/b.N, ReportAllocs, sub-benchmarks), el perfilado de rutas críticas con pprof/trace, y la comparación de variantes con estadísticas respaldadas por valores p de benchstat, además de la exclusión de regresiones en CI y métricas de tiempo de ejecución de Prometheus en producción. Se activa cuando un desarrollador necesita escribir, ejecutar o comparar benchmarks Go, interpretar perfiles de CPU/memoria, o investigar una regresión de rendimiento específica.
Informe de la prueba
Se instaló Go 1.26.5 y benchstat (el comando de instalación de Dependencies funcionó al pie de la letra) y se ejecutó el flujo de trabajo documentado en un módulo real: la concatenación ingenua vs. strings.Builder, ReportAllocs + b.Loop() + -count=10 + benchstat arrojó -81.50% sec/op (p=0.000, n=10), -88.68% B/op, -92.86% allocs/op exactamente en el formato de commit de tres tablas descrito en SKILL.md. La línea base no gestionada se ejecutó una vez y obtuvo 324.1 -> 59.46 ns/op sin asignaciones ni estadísticas — benchstat mostró una dispersión de ±105% para la versión antigua, lo que significa que el número de la línea base era aleatorio, aunque adivinó la dirección. En relación con nuestra prueba del 10.07, el autor añadió una nueva sección 'File and Ordering Conventions' (versión 1.2.5 -> 1.2.6): benchmarks en un archivo separado nombrado según la fuente (parser.go -> parser_bench_test.go) y orden Benchmark* como en la fuente. La convención en sí es inofensiva, pero su justificación fue revisada y encontrada incorrecta: un fixture con errores de tipo se colocó en _bench_test.go — `go test -run . -short` aún falló la compilación, y `go test -bench=.` aún ejecutó TestJoin, lo que significa que la separación de archivos no proporciona ni 'no compilar bench-fixtures' ni 'salida sin ruido de Test*'. El núcleo de la skill no se ha tocado, por lo que el veredicto sigue siendo el mismo, pero la documentación baja de 5 a 4 por esta justificación falsa.
Probado el: 2026-07-10 · Claude Code 2.x (agent harness)
Instalación
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
Comandos y prompts de ejemplo
/golang-benchmarkBenchmarking Go estadísticamente riguroso, perfilado pprof y flujo de trabajo de regresión benchstat
Los skills se activan con peticiones en lenguaje natural, sin comandos que memorizar. Tras instalarlo, prompts como estos lo activan (en inglés):
Write a Go benchmark for this hot function using b.LoopCompare these two benchmark variants with benchstatProfile this Go service's CPU usage with pprof