Refactoring of benchmarks
This commit is contained in:
@@ -3,17 +3,16 @@ package main
|
||||
|
||||
import (
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"math/rand"
|
||||
"os"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func BenchmarkCsvSavingOnlySum(b *testing.B) {
|
||||
func GenerateRandStatsForTime(N int) []StatForTime {
|
||||
data := make([]StatForTime, 0)
|
||||
keyMap := GetKeymap()
|
||||
rnd := rand.New(rand.NewSource(42))
|
||||
for i := 0; i < b.N; i++ {
|
||||
for i := 0; i < N; i++ {
|
||||
var curStat StatForTime
|
||||
curStat.Init()
|
||||
for keyNum := range keyMap {
|
||||
@@ -24,9 +23,16 @@ func BenchmarkCsvSavingOnlySum(b *testing.B) {
|
||||
data = append(data, curStat)
|
||||
}
|
||||
|
||||
return data
|
||||
}
|
||||
|
||||
func BenchmarkCsvSavingOnlySum(b *testing.B) {
|
||||
data := GenerateRandStatsForTime(b.N)
|
||||
keyMap := GetKeymap()
|
||||
|
||||
tmpFile, err := ioutil.TempFile(os.TempDir(), "benchmark")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
b.Fatal(err)
|
||||
}
|
||||
|
||||
defer os.Remove(tmpFile.Name())
|
||||
@@ -37,22 +43,12 @@ func BenchmarkCsvSavingOnlySum(b *testing.B) {
|
||||
}
|
||||
|
||||
func BenchmarkCsvSaving(b *testing.B) {
|
||||
data := make([]StatForTime, 0)
|
||||
data := GenerateRandStatsForTime(b.N)
|
||||
keyMap := GetKeymap()
|
||||
rnd := rand.New(rand.NewSource(42))
|
||||
for i := 0; i < b.N; i++ {
|
||||
var curStat StatForTime
|
||||
curStat.Init()
|
||||
for keyNum := range keyMap {
|
||||
if rnd.Float32() > 0.7 {
|
||||
curStat.keys[keyNum] = rnd.Intn(5000)
|
||||
}
|
||||
}
|
||||
data = append(data, curStat)
|
||||
}
|
||||
|
||||
tmpFile, err := ioutil.TempFile(os.TempDir(), "benchmark")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
b.Fatal(err)
|
||||
}
|
||||
|
||||
defer os.Remove(tmpFile.Name())
|
||||
|
||||
Reference in New Issue
Block a user