我正在使用Roaring Bitmap 0.7.14 创建布隆过滤器。整数范围是0到838,860,800。地图中有70,429,378个唯一整数。我想优化序列化位图。但是优化并未启动。是否需要进行任何其他设置才能启动优化?
System.out.println(" getCardinality long "+
this.bitmap.getLongCardinality());// 70429378
System.out.println(" getSizeInBytes "+
this.bitmap.getSizeInBytes());// 104883208
System.out.println(" runOptimize was done? " +
this.bitmap.runOptimize());// false
this.bitmap.serialize(out);
System.out.println(" serializedSizeInBytes "+
this.bitmap.serializedSizeInBytes());// 104960008
最佳答案
似乎每个整数值大约使用11位,这比使用Set<Int>
甚至int
数组要好得多。
是什么让您认为您的特定集合应该从运行压缩中受益?您的数据是否具有许多连续值?
关于java - 优化RoaringBitmap的序列化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51332112/