1
0
mirror of https://github.com/DataDog/go-profiler-notes.git synced 2025-07-15 23:54:16 +02:00

Add cpu bench test

This commit is contained in:
Felix Geisendörfer
2021-01-09 18:42:50 +01:00
parent 681333a641
commit 928b0be51a
3 changed files with 26 additions and 13 deletions

Binary file not shown.

View File

@ -28,25 +28,29 @@ func run() error {
return http.ListenAndServe(addr, nil)
})
g.Go(func() error { return computeSum(1000000, 10*time.Millisecond) })
g.Go(func() error { return computeSleepLoop(1000000, 10*time.Millisecond) })
return g.Wait()
}
func computeSum(to int, sleep time.Duration) error {
func computeSleepLoop(n int, sleep time.Duration) error {
for {
var sum int64
for i := 0; i < to; i++ {
sum += int64(i) / 2
sum += int64(i) / 3
sum += int64(i) / 4
sum += int64(i) / 5
sum += int64(i) / 6
sum += int64(i) / 7
sum += int64(i) / 8
}
compute(n)
time.Sleep(sleep)
}
return nil
}
func compute(n int) int64 {
var sum int64
for i := 0; i < n; i++ {
sum += int64(i) / 2
sum += int64(i) / 3
sum += int64(i) / 4
sum += int64(i) / 5
sum += int64(i) / 6
sum += int64(i) / 7
sum += int64(i) / 8
}
return sum
}

View File

@ -0,0 +1,9 @@
package main
import (
"testing"
)
func Benchmark_compute(b *testing.B) {
compute(b.N)
}