From 42e756b316818b4987080cffbfb3d8c05f7d2d1e Mon Sep 17 00:00:00 2001 From: Richard Artoul Date: Thu, 29 Nov 2018 20:45:26 -0500 Subject: [PATCH] Add benchmark --- roaring/roaring_internal_test.go | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/roaring/roaring_internal_test.go b/roaring/roaring_internal_test.go index 78b686371..223953658 100644 --- a/roaring/roaring_internal_test.go +++ b/roaring/roaring_internal_test.go @@ -3267,6 +3267,27 @@ func TestUnmarshalOfficialRoaring(t *testing.T) { } +func BenchmarkUnionBitmapBitmapInPlace(b *testing.B) { + b1 := newTestBitmapContainer() + b2 := newTestBitmapContainer() + for n := 0; n < b.N; n++ { + unionBitmapBitmapInPlace(b1, b2) + } +} + +func newTestBitmapContainer() *Container { + var ( + buf = make([]uint64, bitmapN) + ob = buf[:bitmapN] + container = &Container{ + bitmap: ob, + n: 0, + containerType: containerBitmap, + } + ) + return container +} + /* // This function exercises an arcane edge case in dead code. // It doesn't need to be run right now.