diff options
author | Tianon Gravi <admwiggin@gmail.com> | 2015-01-15 11:54:00 -0700 |
---|---|---|
committer | Tianon Gravi <admwiggin@gmail.com> | 2015-01-15 11:54:00 -0700 |
commit | f154da9e12608589e8d5f0508f908a0c3e88a1bb (patch) | |
tree | f8255d51e10c6f1e0ed69702200b966c9556a431 /src/pkg/testing/allocs.go | |
parent | 8d8329ed5dfb9622c82a9fbec6fd99a580f9c9f6 (diff) | |
download | golang-upstream/1.4.tar.gz |
Imported Upstream version 1.4upstream/1.4
Diffstat (limited to 'src/pkg/testing/allocs.go')
-rw-r--r-- | src/pkg/testing/allocs.go | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/src/pkg/testing/allocs.go b/src/pkg/testing/allocs.go deleted file mode 100644 index 9ec47bd46..000000000 --- a/src/pkg/testing/allocs.go +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package testing - -import ( - "runtime" -) - -// AllocsPerRun returns the average number of allocations during calls to f. -// Although the return value has type float64, it will always be an integral value. -// -// To compute the number of allocations, the function will first be run once as -// a warm-up. The average number of allocations over the specified number of -// runs will then be measured and returned. -// -// AllocsPerRun sets GOMAXPROCS to 1 during its measurement and will restore -// it before returning. -func AllocsPerRun(runs int, f func()) (avg float64) { - defer runtime.GOMAXPROCS(runtime.GOMAXPROCS(1)) - - // Warm up the function - f() - - // Measure the starting statistics - var memstats runtime.MemStats - runtime.ReadMemStats(&memstats) - mallocs := 0 - memstats.Mallocs - - // Run the function the specified number of times - for i := 0; i < runs; i++ { - f() - } - - // Read the final statistics - runtime.ReadMemStats(&memstats) - mallocs += memstats.Mallocs - - // Average the mallocs over the runs (not counting the warm-up). - // We are forced to return a float64 because the API is silly, but do - // the division as integers so we can ask if AllocsPerRun()==1 - // instead of AllocsPerRun()<2. - return float64(mallocs / uint64(runs)) -} |