roaring
roaring copied to clipboard
Roaring bitmaps in Go (golang), used by InfluxDB, Bleve, DataDog
[staticcheck](https://staticcheck.io/docs/staticcheck) reports ``` parallel.go:224:12: argument should be pointer-like to avoid allocations (SA6002) parallel.go:243:12: argument should be pointer-like to avoid allocations (SA6002) ``` docs for this issue can be found here:...
I think it makes sense to validate bitmap cardinality in `BenchmarkRealData*` functions. In some rare cases the `aggregation_test.go` test suite does not reveal subtle bugs that could be introduced while...
often times in the run container operations it appeared faster to convert to bitmaps and the do the operations there. Meaure and see if any of the remaining operations could...
Though the code is well tested and works, and there has been several contributions to make it run faster, there could still be large inefficiencies. We should profile this code....
It appears the current implementation of Bitmap.WriteTo() isn't very much different than the user instead calling ToBytes() and invoking io.Writer.Write() itself... https://github.com/RoaringBitmap/roaring/blob/master/roaringarray.go#L526 Was wondering if there are approaches or ideas...
Our ``roaringArray`` struct has a fake ``conserz []containerSerz`` array that is used only to satisfy msgp's requirements during message unpacking. Though it solves the problem at hand with minimal harm,...
In C, this binary search function proved useful... ``` static void binarySearch4(const uint16_t *array, int32_t n, uint16_t target1, uint16_t target2, uint16_t target3, uint16_t target4, int32_t *index1, int32_t *index2, int32_t *index3,...
New{,Bitmap} makes 2 heap allocations that become very costly when dealing with [a lot of Bitmap](https://github.com/anacrolix/torrent/blob/master/torrent.go#L119) allocations, these allocations occur even for empty Bitmaps. I have a [wrapper](https://github.com/anacrolix/missinggo/blob/master/bitmap/bitmap.go#L22) that avoids...
`ParOr` considers all containers at key _k_ in a single loop. Currently when `orFunc` is called we instantly create a bitmap container. We could, instead, try computing the sum of...
Add a make target running [unconvert](https://github.com/mdempsky/unconvert) on the codebase. This helps finding unnecessary type conversions. See also #114