Java 位集与原始位操作性能

Java 位集与原始位操作性能,java,Java,比特集性能与原始操作(比如长值)相比如何? 谷歌搜索“java位集性能”的第一个结果 然而,对于无界位集,位集有明显的优势。真的吗?询问是否有人已经这样做了是不可接受的?如果您要评测,我会坚持使用int[]而不是long[],因为JVM不能保证在longs上原子地执行操作。我还想说,如果您知道您的位集大小将足够小,比如说128位或类似的大小,那么您可以避免数组间接寻址并压缩性能。但让我震惊的是,古老的早熟优化邪恶的东西在这里是完全有效的…@Dilum讽刺的是,你会在一篇帖子中说使用int[]而不

比特集性能与原始操作(比如长值)相比如何?

谷歌搜索“java位集性能”的第一个结果


然而,对于无界位集,位集有明显的优势。

真的吗?询问是否有人已经这样做了是不可接受的?如果您要评测,我会坚持使用
int[]
而不是
long[]
,因为JVM不能保证在
long
s上原子地执行操作。我还想说,如果您知道您的位集大小将足够小,比如说128位或类似的大小,那么您可以避免数组间接寻址并压缩性能。但让我震惊的是,古老的早熟优化邪恶的东西在这里是完全有效的…@Dilum讽刺的是,你会在一篇帖子中说使用
int[]
而不是
long[]
来获得原子操作,然后在下一篇关于早熟优化的警告中…@Kevin这两种方法的性能都会非常快。位集已为您编写。对我来说,选择是显而易见的。此外,每当我想使用位集时,我必须问自己“我在管理什么,我需要这么多的标志,以至于我愿意失去引用完整性来将它们保留在我的对象中?”位集很笨重,很容易。。。好。。。搞砸了。谢谢,我在最初的谷歌搜索中没有看到这一点。