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  }