github.com/grafana/pyroscope@v1.18.0/pkg/model/flamegraph_diff_bench_test.go (about) 1 package model 2 3 import ( 4 "os" 5 "testing" 6 7 "github.com/stretchr/testify/require" 8 ) 9 10 func Benchmark_NewFlamegraphDiff(b *testing.B) { 11 leftTreeBytes, err := os.ReadFile("testdata/diff_left_tree.bin") 12 require.NoError(b, err) 13 rightTreeBytes, err := os.ReadFile("testdata/diff_right_tree.bin") 14 require.NoError(b, err) 15 16 leftTree, err := UnmarshalTree(leftTreeBytes) 17 require.NoError(b, err) 18 19 rightTree, err := UnmarshalTree(rightTreeBytes) 20 require.NoError(b, err) 21 22 b.ResetTimer() 23 b.ReportAllocs() 24 25 for i := 0; i < b.N; i++ { 26 diff, err := NewFlamegraphDiff(leftTree, rightTree, 163840) 27 require.NoError(b, err) 28 require.NotNil(b, diff) 29 } 30 }