benchmark
Create or modify hot-path code or optimizations should be validated by a Go Benchmark
معلومات المصدر
- المستودع
- zalando/skipper
- آخر نشاط في المصدر
- ٣١ أغسطس ٢٠٢٦ في ١٣:٥٤
- لغة SKILL.md المكتشفة
- الإنجليزية
- النجوم
- ٣٬٣٣١
- التفرعات
- ٤٠٩
خيارات التثبيت
يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.
مراجعة ملفات المصدر
اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.
عرض SKILL.md
SKILL.md
تعليمات المصدر · معاينة للقراءة فقط- name
- benchmark
- description
- Create or modify hot-path code or optimizations should be validated by a Go Benchmark
- license
- MIT
- compatibility
- opencode, claude
- metadata
- {"audience":"maintainers, contributors"}
## What I do
- focus on performance and allocations
## When to use me
Use this when you are creating or modifying code in the hot path.
## Quick start
### Benchmarks
Write benchmarks alongside any performance-sensitive change. Use `benchstat`
with `-count 20` to compare. Always report `sec/op`, `B/op`, and `allocs/op`.
Target zero allocations in hot-path code.
```go
func BenchmarkMyPredicate(b *testing.B) {
p := &predicate{...}
req := httptest.NewRequest("GET", "/", nil)
req.Header.Set("Authorization", "Bearer "+testToken)
b.ReportAllocs()
b.ResetTimer()
for b.Loop() {
p.Match(req)
}
}
```
Example run:
```bash
% go test -bench=BenchmarkMyPredicate -benchmem -run='^$' -count 20 -cpu 1,2,4,8,16 ./predicates/mypredicate > old.txt
# ..edit code..
% go test -bench=BenchmarkMyPredicate -benchmem -run='^$' -count 20 -cpu 1,2,4,8,16 ./predicates/mypredicate > new.txt
% benchstat old.txt new.txt
```
Show the output of benchstat to the developer.
عرض على GitHub