MCPcopy Create free account
hub / github.com/ajitpratap0/GoSQLX / benchmarkWideSelect

Function benchmarkWideSelect

pkg/sql/parser/wide_select_bench_test.go:38–61  ·  view source on GitHub ↗
(b *testing.B, numCols int)

Source from the content-addressed store, hash-verified

36}
37
38func benchmarkWideSelect(b *testing.B, numCols int) {
39 sql := buildWideSelect(numCols)
40 sqlBytes := []byte(sql)
41
42 // Pre-tokenize to measure parser only
43 tkz := tokenizer.GetTokenizer()
44 tokens, err := tkz.Tokenize(sqlBytes)
45 tokenizer.PutTokenizer(tkz)
46 if err != nil {
47 b.Fatal(err)
48 }
49
50 b.ResetTimer()
51 b.ReportAllocs()
52
53 for i := 0; i < b.N; i++ {
54 p := NewParser()
55 _, err := p.ParseFromModelTokens(tokens)
56 if err != nil {
57 b.Fatal(err)
58 }
59 p.Release()
60 }
61}
62
63func BenchmarkWideSelect100(b *testing.B) { benchmarkWideSelect(b, 100) }
64func BenchmarkWideSelect500(b *testing.B) { benchmarkWideSelect(b, 500) }

Callers 4

BenchmarkWideSelect100Function · 0.85
BenchmarkWideSelect500Function · 0.85
BenchmarkWideSelect1000Function · 0.85
BenchmarkWideSelect5000Function · 0.85

Calls 7

ParseFromModelTokensMethod · 0.95
ReleaseMethod · 0.95
GetTokenizerFunction · 0.92
PutTokenizerFunction · 0.92
buildWideSelectFunction · 0.85
TokenizeMethod · 0.80
NewParserFunction · 0.70

Tested by

no test coverage detected