aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBrad Fitzpatrick <bradfitz@golang.org>2013-08-08 15:25:15 -0700
committerBrad Fitzpatrick <bradfitz@golang.org>2013-08-08 15:25:15 -0700
commitb379b32f31b13381308887fcf02ca52b937a0f07 (patch)
tree53179d7614446f23e0db758f2a9a2d367d0c3d5b /src
parent3670337097dbdc6461af7a3ac38fd2dc784dfecd (diff)
downloadgo-b379b32f31b13381308887fcf02ca52b937a0f07.tar.xz
cmd/api: add a benchmark over the standard library
R=golang-dev, gri CC=golang-dev https://golang.org/cl/12603045
Diffstat (limited to 'src')
-rw-r--r--src/cmd/api/goapi_test.go27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/cmd/api/goapi_test.go b/src/cmd/api/goapi_test.go
index a1e762bafc..b909c32b34 100644
--- a/src/cmd/api/goapi_test.go
+++ b/src/cmd/api/goapi_test.go
@@ -10,8 +10,10 @@ import (
"bytes"
"flag"
"fmt"
+ "go/build"
"io/ioutil"
"os"
+ "os/exec"
"path/filepath"
"sort"
"strings"
@@ -139,3 +141,28 @@ func TestCompareAPI(t *testing.T) {
}
}
}
+
+func BenchmarkAll(b *testing.B) {
+ stds, err := exec.Command("go", "list", "std").Output()
+ if err != nil {
+ b.Fatal(err)
+ }
+ b.ResetTimer()
+ pkgNames := strings.Fields(string(stds))
+
+ for _, c := range contexts {
+ c.Compiler = build.Default.Compiler
+ }
+
+ for i := 0; i < b.N; i++ {
+ for _, context := range contexts {
+ w := NewWalker(context, filepath.Join(build.Default.GOROOT, "src/pkg"))
+ for _, name := range pkgNames {
+ if name != "unsafe" && !strings.HasPrefix(name, "cmd/") {
+ w.export(w.Import(name))
+ }
+ }
+ w.Features()
+ }
+ }
+}