func runIterations(name string, start, end, step int, f func(int)) {
	fmt.Print(name, ",")
	for i := start; i <= end; i += step {
		f(i)
		fmt.Print(",")
	}
	fmt.Println()
}
runIterations executes the tests in a loop with the given parameters
package main
import (
	"fmt"
	"reflect"
	"runtime"
	"sync"
	"time"
)
const (
	start, end, step int = 100000, 3000000, 100000
)
var (
	wg             sync.WaitGroup
	testByteString = []byte(fmt.Sprint("test value"))
	test10Kilobyte = make([]byte, 10240)
)
func timeTrack(start time.Time, n int) {
	loopNS := time.Since(start).Nanoseconds() / int64(n)
	fmt.Print(loopNS)
}
func iterations(n int) {
	fmt.Print(n)
}
func funcName(f func(int)) string {
	return runtime.FuncForPC(reflect.ValueOf(f).Pointer()).Name()[5:]
}