Skip to content

Commit

Permalink
Add benchmark.
Browse files Browse the repository at this point in the history
  • Loading branch information
SpencerC committed Jun 7, 2023
1 parent 6b48b5d commit 5405936
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 0 deletions.
13 changes: 13 additions & 0 deletions benchmark_test.go
Expand Up @@ -85,3 +85,16 @@ func BenchmarkNativeFromTextualUsingV2(b *testing.B) {
_ = nativeFromTextUsingV2(b, codec, textData)
}
}

func BenchmarkScanBinaryUsingV2(b *testing.B) {
avroBlob, err := os.ReadFile("fixtures/quickstop-null.avro")
if err != nil {
b.Fatal(err)
}
nativeData, codec := nativeFromAvroUsingV2(b, avroBlob)
binaryData := binaryFromNativeUsingV2(b, codec, nativeData)
b.ResetTimer()
for i := 0; i < b.N; i++ {
_ = scanBinaryUsingV2(b, codec, binaryData)
}
}
22 changes: 22 additions & 0 deletions helperV2_test.go
Expand Up @@ -101,3 +101,25 @@ func nativeFromTextUsingV2(tb testing.TB, codec *Codec, textData [][]byte) []int
}
return nativeData
}

type person struct {
ID int64
First, Last, Phone string
Age int
}

func scanBinaryUsingV2(tb testing.TB, codec *Codec, binaryData [][]byte) []person {
tb.Helper()
nativeData := make([]person, len(binaryData))
for i, binaryDatum := range binaryData {
d := nativeData[i]
buf, err := codec.ScanBinary(binaryDatum, &d.ID, &d.First, &d.Last, &d.Phone, &d.Age)
if err != nil {
tb.Fatal(err)
}
if len(buf) > 0 {
tb.Fatalf("BinaryDecode ought to have returned nil buffer: %v", buf)
}
}
return nativeData
}

0 comments on commit 5405936

Please sign in to comment.