小编sri*_*noj的帖子

Java JDK BitSet与Lucene OpenBitSet

我试图实现一个BloomFilter,并遇到了一些关于BitSets的讨论.Lucene OpenBitSet声称它几乎在所有操作中都比Java BitSet实现更快.

http://grepcode.com/file/repo1.maven.org/maven2/org.apache.lucene/lucene-core/4.10.4/org/apache/lucene/util/OpenBitSet.java#OpenBitSet

我试着查看两个实现的代码.

Java BitSet代码

http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/8u40-b25/java/util/BitSet.java#BitSet

在我看来,这两个类都使用'long'数组来存储这些位.各个位映射到特定的数组索引和存储在索引处的"long"值中的位位置.

是什么原因,那么OpenBitSet实现在性能方面要好得多?导致速度提高的代码差异在哪里?

java lucene performance bitset

14
推荐指数
1
解决办法
1512
查看次数

标签 统计

bitset ×1

java ×1

lucene ×1

performance ×1