1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
func f() {}
func BenchmarkDirect(b *testing.B) {
for i := 0; i < b.N; i++ {
f()
}
}
func BenchmarkReflectOnlyRun(b *testing.B) {
fv := reflect.ValueOf(f)
b.ResetTimer()
for i := 0; i < b.N; i++ {
fv.Call(nil)
}
}
func BenchmarkReflect(b *testing.B) {
for i := 0; i < b.N; i++ {
fv := reflect.ValueOf(f)
fv.Call(nil)
}
}
|