Refactoring of benchmarks

This commit is contained in:
2016-03-27 02:59:35 +03:00
parent 719c3c2eea
commit ccddb24e1d

View File

@@ -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())