Go 벤치마크 & 성능 측정
Go 벤치마크 작성부터 pprof 프로파일링, benchstat 통계 비교, CI 성능 회귀 탐지까지 안내하는 측정 전문 스킬.
개발·코딩중급★ 428⑂ 45AI 점수 9/10마지막 업데이트: 2026. 9. 23.
무엇을 해주나
_bench_test.go파일 규칙, 함수 정렬 순서 등 벤치마크 코드 작성 컨벤션을 잡아준다.- Go 1.24+의
b.Loop(),b.ReportAllocs(),b.ReportMetric(), 서브 벤치마크(table-driven) 패턴을 예제로 제시한다. go test -bench -benchmem -count=10실행 플래그 표와 출력 해석(ns/op, B/op, allocs/op)을 설명한다.benchstat으로 p-value 기반 통계 비교를 수행하고, 유의하지 않은(~) 결과는 성과로 주장하지 않도록 규칙을 강제한다.- CPU/메모리 프로파일, 실행 트레이스, 컴파일러 escape/inlining 분석, CI 회귀 탐지(benchdiff·cob·gobenchdata), 프로덕션 Prometheus 런타임 지표까지 레퍼런스 문서로 연결한다.
이런 분께 추천
- 성능 개선 PR에 근거 데이터를 첨부해야 하는 Go 백엔드 개발자
- "빨라진 것 같다"가 아니라 통계적으로 증명된 수치를 원하는 팀
- CI에서 성능 회귀를 자동으로 막고 싶은 플랫폼/인프라 엔지니어
활용 예시
Parse()함수의 할당을 줄이기 위해 sync.Pool 적용 전후를-count=10으로 측정하고 benchstat 결과를 커밋 메시지에 그대로 첨부한다.- 같은 병목에 대한 여러 최적화 가설을 각각 별도 worktree에서 구현한 뒤, 동일 베이스라인 대비 순차적으로 벤치마크를 돌려 승자를 고른다.
- 벤치마크에서 예상치 못한 할당이 보일 때 memprofile + escape analysis 레퍼런스를 따라 힙 이동 원인을 추적한다.
· · · 설치 가이드 · · ·
설치 없이 지금 한 번 써보기
아래를 Claude에 붙여넣으면 설치하지 않고도 이 스킬을 그대로 씁니다.
이 파일의 지시를 읽고 그대로 따라서 나를 도와줘: https://raw.githubusercontent.com/aiskillstore/marketplace/HEAD/pending/samber/golang-benchmark/SKILL.md 내가 원하는 것: (여기에 하고 싶은 일을 쓰세요)
Claude가 링크를 열지 못하면, 링크를 직접 열어 내용을 복사해 붙여넣으세요.
↓ 쓸 만하면 아래에서 ZIP을 받아 설치하세요. 그러면 매번 붙여넣지 않아도 알아서 작동합니다.
Claude 앱에 설치 (터미널 필요 없음)
- 아래 버튼으로 ZIP 파일을 받으세요.
- Claude 설정 → Capabilities에서 '코드 실행 및 파일 생성'을 켭니다. (한 번만)
- Claude에서 Customize → Skills → + → '스킬 업로드'를 누르고 받은 ZIP을 올립니다.
Claude Code에 설치
Claude에게 맡기기 — 아래 문장을 Claude Code에 붙여넣으세요
클로드스킬마트에서 찾은 스킬을 설치해줘. GitHub 저장소 aiskillstore/marketplace 의 pending/samber/golang-benchmark 폴더를 내 ~/.claude/skills/golang-benchmark/ 에 그대로 복사해줘. 설치가 끝나면 이 스킬로 무엇을 할 수 있는지 한 줄로 알려줘.
직접 명령으로 설치하기
git clone https://github.com/samber/cc-skills-golang.git /tmp/cc-skills-golang && mkdir -p ~/.claude/skills && cp -r /tmp/cc-skills-golang/golang-benchmark ~/.claude/skills/⚠ 제3자가 만든 스킬입니다. 설치 전 원본 저장소를 한 번 확인하세요.
- Go 툴체인이 설치되어 있는지 확인한다:
go version(가능하면 1.24 이상 권장). - 통계 비교 도구를 설치한다:
go install golang.org/x/perf/cmd/benchstat@latest benchstat명령이 PATH에서 잡히는지 확인한다 ($(go env GOPATH)/bin이 PATH에 있어야 함).- 스킬 저장소를 받는다:
git clone https://github.com/samber/cc-skills-golang.git - 스킬 폴더를 복사한다:
mkdir -p ~/.claude/skills && cp -r cc-skills-golang/golang-benchmark ~/.claude/skills/ ~/.claude/skills/golang-benchmark/references/안의 참고 문서들이 함께 복사됐는지 확인한다.- Claude Code를 재시작한 뒤, Go 프로젝트에서 "이 함수 벤치마크 작성하고 before/after 비교해줘"라고 요청하면 스킬이 발동한다.