1 // Copyright 2009 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
15 const memTestN = 1000000
18 func s(n uint64) string {
19 str := fmt.Sprintf("%d", n)
21 a := make([]string, (lens+2)/3)
28 a[len(a)-i-1] = str[start:lens]
31 return strings.Join(a, " ")
35 func TestVectorNums(t *testing.T) {
39 m0 := runtime.MemStats
40 v.Resize(memTestN, memTestN)
41 for i := 0; i < memTestN; i++ {
48 n := m.Alloc - m0.Alloc
49 t.Logf("%T.Push(%#v), n = %s: Alloc/n = %.2f\n", v, c, s(memTestN), float64(n)/memTestN)
53 func TestIntVectorNums(t *testing.T) {
57 m0 := runtime.MemStats
58 v.Resize(memTestN, memTestN)
59 for i := 0; i < memTestN; i++ {
66 n := m.Alloc - m0.Alloc
67 t.Logf("%T.Push(%#v), n = %s: Alloc/n = %.2f\n", v, c, s(memTestN), float64(n)/memTestN)
71 func TestStringVectorNums(t *testing.T) {
75 m0 := runtime.MemStats
76 v.Resize(memTestN, memTestN)
77 for i := 0; i < memTestN; i++ {
84 n := m.Alloc - m0.Alloc
85 t.Logf("%T.Push(%#v), n = %s: Alloc/n = %.2f\n", v, c, s(memTestN), float64(n)/memTestN)
89 func BenchmarkVectorNums(b *testing.B) {
95 for i := 0; i < b.N; i++ {
101 func BenchmarkIntVectorNums(b *testing.B) {
107 for i := 0; i < b.N; i++ {
113 func BenchmarkStringVectorNums(b *testing.B) {
119 for i := 0; i < b.N; i++ {