Исходники и презентации
This commit is contained in:
35
lessons/slices_and_arrays/bce_optimization_1/bench_test.go
Normal file
35
lessons/slices_and_arrays/bce_optimization_1/bench_test.go
Normal file
@ -0,0 +1,35 @@
|
||||
package main
|
||||
|
||||
import "testing"
|
||||
|
||||
// go test -gcflags="-d=ssa/check_bce" -bench=. bench_test.go
|
||||
|
||||
func sum1(values []int) int {
|
||||
return values[0] + // Found IsInBounds
|
||||
values[1] + // Found IsInBounds
|
||||
values[2] + // Found IsInBounds
|
||||
values[3] // Found IsInBounds
|
||||
}
|
||||
|
||||
func sum2(values []int) int {
|
||||
return values[3] + // Found IsInBounds
|
||||
values[2] +
|
||||
values[1] +
|
||||
values[0]
|
||||
}
|
||||
|
||||
var Result int
|
||||
|
||||
func BenchmarkSum1(b *testing.B) {
|
||||
values := []int{1, 2, 3, 4}
|
||||
for i := 0; i < b.N; i++ {
|
||||
Result = sum1(values)
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkSum2(b *testing.B) {
|
||||
values := []int{1, 2, 3, 4}
|
||||
for i := 0; i < b.N; i++ {
|
||||
Result = sum2(values)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user