From 43c275c6e2152a6609e26c046891309e5f79c572 Mon Sep 17 00:00:00 2001 From: Todd Gruben Date: Fri, 23 Jun 2017 16:03:56 -0500 Subject: [PATCH] extended bitmap.optimize() to look at run containers --- roaring/roaring.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/roaring/roaring.go b/roaring/roaring.go index 87a8bf277..03a9430e2 100644 --- a/roaring/roaring.go +++ b/roaring/roaring.go @@ -1328,10 +1328,15 @@ func (c *container) Optimize() { } } else if c.isBitmap() { runs := c.bitmapCountRuns() - if runs < 2048 { + if runs < RunMaxSize { c.bitmapToRun() } + } else if c.isRun() { + if len(c.runs) > RunMaxSize { + c.runToBitmap() + } } + } func (c *container) arrayContains(v uint32) bool {