diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2019-08-13 17:02:48 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2019-08-13 17:02:48 +0200 |
| commit | b65356b565286bb1d161cf88d1170168fc9b024c (patch) | |
| tree | 675eb7154aafc563349a71ae5fef3d15de11827b | |
| parent | 74d61399c29bb1e38da47fa7fd02a80f06639f7f (diff) | |
prog: measure memory allocation in benchmarks
Enable ReportAllocs.
Also factor out common code into a helper function
(duplicated in 3 places now).
| -rw-r--r-- | prog/export_test.go | 11 | ||||
| -rw-r--r-- | prog/hints_test.go | 9 | ||||
| -rw-r--r-- | prog/mutation_test.go | 18 |
3 files changed, 17 insertions, 21 deletions
diff --git a/prog/export_test.go b/prog/export_test.go index 1aaea30dc..9ea3f612e 100644 --- a/prog/export_test.go +++ b/prog/export_test.go @@ -89,3 +89,14 @@ func testEachTargetRandom(t *testing.T, fn func(t *testing.T, target *Target, rs }) } } + +func initBench(b *testing.B) (*Target, func()) { + olddebug := debug + debug = false + target, err := GetTarget("linux", "amd64") + if err != nil { + b.Fatal(err) + } + b.ReportAllocs() + return target, func() { debug = olddebug } +} diff --git a/prog/hints_test.go b/prog/hints_test.go index 67a250431..78b86e57c 100644 --- a/prog/hints_test.go +++ b/prog/hints_test.go @@ -480,13 +480,8 @@ func TestHintsData(t *testing.T) { } func BenchmarkHints(b *testing.B) { - olddebug := debug - debug = false - defer func() { debug = olddebug }() - target, err := GetTarget("linux", "amd64") - if err != nil { - b.Fatal(err) - } + target, cleanup := initBench(b) + defer cleanup() rs := rand.NewSource(0) r := newRand(target, rs) p := target.Generate(rs, 30, nil) diff --git a/prog/mutation_test.go b/prog/mutation_test.go index 6b50b975e..b041f02d2 100644 --- a/prog/mutation_test.go +++ b/prog/mutation_test.go @@ -220,13 +220,8 @@ func runMutationTests(t *testing.T, tests [][2]string) { } func BenchmarkMutate(b *testing.B) { - olddebug := debug - debug = false - defer func() { debug = olddebug }() - target, err := GetTarget("linux", "amd64") - if err != nil { - b.Fatal(err) - } + target, cleanup := initBench(b) + defer cleanup() ct := linuxAmd64ChoiceTable(target) const progLen = 30 p := target.Generate(rand.NewSource(0), progLen, nil) @@ -240,13 +235,8 @@ func BenchmarkMutate(b *testing.B) { } func BenchmarkGenerate(b *testing.B) { - olddebug := debug - debug = false - defer func() { debug = olddebug }() - target, err := GetTarget("linux", "amd64") - if err != nil { - b.Fatal(err) - } + target, cleanup := initBench(b) + defer cleanup() ct := linuxAmd64ChoiceTable(target) const progLen = 30 b.ResetTimer() |
