← スキル一覧に戻る

benchmarking
by IvanTorresEdge
⭐ 0🍴 1📅 2026年1月13日
SKILL.md
name: benchmarking description: Performance benchmarking techniques and analysis. Use when measuring performance.
Benchmarking Skill
Performance benchmarking techniques for Go.
When to Use
Use when measuring or comparing performance.
Writing Benchmarks
func BenchmarkGetUser(b *testing.B) {
svc := NewService()
ctx := context.Background()
b.ResetTimer()
for i := 0; i < b.N; i++ {
_, _ = svc.GetUser(ctx, 1)
}
}
Running Benchmarks
# Run all benchmarks
go test -bench=. -benchmem ./...
# Specific benchmark
go test -bench=BenchmarkGetUser -benchmem
# Multiple runs for accuracy
go test -bench=. -benchmem -count=10
Analyzing Results
BenchmarkGetUser-8 1000000 1250 ns/op 320 B/op 5 allocs/op
1000000- iterations1250 ns/op- time per operation320 B/op- bytes allocated5 allocs/op- allocations per operation
Comparing with benchstat
go test -bench=. -count=10 > old.txt
# make changes
go test -bench=. -count=10 > new.txt
benchstat old.txt new.txt
Best Practices
- Use
b.ResetTimer()after setup - Run multiple times (
-count) - Use
benchstatfor comparison - Focus on allocations
- Profile to understand results
スコア
総合スコア
60/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
レビュー
💬
レビュー機能は近日公開予定です