]> Cypherpunks repositories - gostls13.git/commitdiff
go/printer: report allocs and set bytes
authorDaniel Martí <mvdan@mvdan.cc>
Wed, 15 Jun 2022 20:19:04 +0000 (21:19 +0100)
committerGopher Robot <gobot@golang.org>
Tue, 28 Jun 2022 03:49:03 +0000 (03:49 +0000)
We now get more than just time/op.

name      time/op
Print-16    6.29ms ± 3%

name      speed
Print-16  8.25MB/s ± 3%

name      alloc/op
Print-16     483kB ± 0%

name      allocs/op
Print-16     17.8k ± 0%

Change-Id: I6b5e9a30a826ff8603724bd5983e6b7f5ec12708
Reviewed-on: https://go-review.googlesource.com/c/go/+/412554
Reviewed-by: Robert Griesemer <gri@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Robert Griesemer <gri@google.com>
Auto-Submit: Robert Griesemer <gri@google.com>
Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
Reviewed-by: Ian Lance Taylor <iant@google.com>
src/go/printer/performance_test.go

index e655fa13ee3fa081ca5a99460662e95a34fcd42f..ea6a98caa4a98498ff8452c2420f8081b52f5747 100644 (file)
@@ -17,7 +17,10 @@ import (
        "testing"
 )
 
-var testfile *ast.File
+var (
+       testfile *ast.File
+       testsize int64
+)
 
 func testprint(out io.Writer, file *ast.File) {
        if err := (&Config{TabIndent | UseSpaces | normalizeNumbers, 8, 0}).Fprint(out, fset, file); err != nil {
@@ -46,12 +49,15 @@ func initialize() {
        }
 
        testfile = file
+       testsize = int64(len(src))
 }
 
 func BenchmarkPrint(b *testing.B) {
        if testfile == nil {
                initialize()
        }
+       b.ReportAllocs()
+       b.SetBytes(testsize)
        for i := 0; i < b.N; i++ {
                testprint(io.Discard, testfile)
        }