]> Cypherpunks repositories - gostls13.git/commitdiff
gob: add UpdateMemStats calls to malloc counter
authorRob Pike <r@golang.org>
Thu, 4 Aug 2011 05:56:25 +0000 (15:56 +1000)
committerRob Pike <r@golang.org>
Thu, 4 Aug 2011 05:56:25 +0000 (15:56 +1000)
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/4808071

src/pkg/gob/encode.go
src/pkg/gob/timing_test.go

index 576a83df0fef9319d16083e6718289f69ab659b0..317014efdad91048f1b6186d07161f6cd0b67b96 100644 (file)
@@ -484,7 +484,7 @@ func isZero(val reflect.Value) bool {
        case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:
                return val.Uint() == 0
        }
-       panic("unknown type in isZero" + val.Type().String())
+       panic("unknown type in isZero " + val.Type().String())
 }
 
 // encGobEncoder encodes a value that implements the GobEncoder interface.
index 645f4fe51c9058ce68d0e511cf466632cbb2f0bb..2a2be73364ddaaba6a222df3b21003f57e0d2259 100644 (file)
@@ -53,6 +53,7 @@ func TestCountEncodeMallocs(t *testing.T) {
        var buf bytes.Buffer
        enc := NewEncoder(&buf)
        bench := &Bench{7, 3.2, "now is the time", []byte("for all good men")}
+       runtime.UpdateMemStats()
        mallocs := 0 - runtime.MemStats.Mallocs
        const count = 1000
        for i := 0; i < count; i++ {
@@ -61,6 +62,7 @@ func TestCountEncodeMallocs(t *testing.T) {
                        t.Fatal("encode:", err)
                }
        }
+       runtime.UpdateMemStats()
        mallocs += runtime.MemStats.Mallocs
        fmt.Printf("mallocs per encode of type Bench: %d\n", mallocs/count)
 }
@@ -77,6 +79,7 @@ func TestCountDecodeMallocs(t *testing.T) {
                }
        }
        dec := NewDecoder(&buf)
+       runtime.UpdateMemStats()
        mallocs := 0 - runtime.MemStats.Mallocs
        for i := 0; i < count; i++ {
                *bench = Bench{}
@@ -85,6 +88,7 @@ func TestCountDecodeMallocs(t *testing.T) {
                        t.Fatal("decode:", err)
                }
        }
+       runtime.UpdateMemStats()
        mallocs += runtime.MemStats.Mallocs
        fmt.Printf("mallocs per decode of type Bench: %d\n", mallocs/count)
 }