开发者社区> 问答> 正文

boolean [] vs. BitSet:哪个更有效?

在内存和CPU使用率方面,更有效的方法是booleans 数组还是BitSet?不使用特定的BitSet方法,仅使用get / set / clear(分别为数组的==,=,Arrays.fill)。 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-09 13:25:00 355 0
1 条回答
写回答
取消 提交回答
  • 从带有Sun JDK 1.6计算质数的一些基准筛选(最好进行10次迭代预热,给JIT编译器一个机会,并排除随机调度延迟,Core 2 Duo T5600 1.83GHz):

    除了非常小的大小,BitSet比boolean []更有效的存储。数组中的每个布尔值都占用一个字节。对于BitSet,runtime.freeMemory()中的数字有些混乱,但更少。

    boolean []的CPU效率更高,除了非常大的大小(大约相等)之外。例如,对于大小为100万的boolean [],大约要快四倍(例如6ms对27ms),而对于一亿个,它们大约是偶数

    2020-02-09 13:25:12
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载