package main
import "fmt"
import "bytes"
import "testing"
const N = 0
var name = bytes.Repeat([]byte{'x'}, N)
var m = make(map[string]string, 10)
var s string
func f() {
s = m[string(name)]
}
func g() {
key := string(name)
s = m[key]
}
func h() {
m[string(name)] = "Golang"
}
func main() {
fmt.Println(testing.AllocsPerRun(1, f)) // 0
fmt.Println(testing.AllocsPerRun(1, g)) // 1
fmt.Println(testing.AllocsPerRun(1, h)) // 1
}
/* The result:
N f g H
--- --- --- ---
>=9 0 1 1
8,4,2,1,0 0 0 0
6,7 0 1 1
3,5 0 1 0
*/
testing.AllocsPerRun?