RoaringBitmap / RoaringBitmap

A better compressed bitset in Java: used by Apache Spark, Netflix Atlas, Apache Pinot, Tablesaw, and many others
http://roaringbitmap.org/
Apache License 2.0
3.55k stars 556 forks source link

Implement flyweight iterators in batch mode #244

Open lemire opened 6 years ago

lemire commented 6 years ago

We have fast bulk iterators...

See PR https://github.com/RoaringBitmap/RoaringBitmap/pull/243

We'd like to support them using the flyweight model.

richardstartin commented 6 years ago

Do flyweight iterators currently outperform the standard iterators? The benchmarks suggest not.

lemire commented 6 years ago

Do we have a benchmark stressing garbage collection? There are definitively reports that reducing GC pressure helps.

I admit that I don’t know how we would make GC the bottleneck.

blacelle commented 6 years ago

Would you be interested in a test tracking the quantity of heap allocated ? It would not check actual GC pressure (as for the same quantity of allocations, it would not track the lifetime of given memory), but it may provide valuable insights.

lemire commented 6 years ago

@blacelle

Anything that might help motivate the flyweight pattern is welcome.