在内存和CPU使用率方面,更有效的方法是booleans 数组还是BitSet?不使用特定的BitSet方法,仅使用get / set / clear(分别为数组的==,=,Arrays.fill)。 问题来源于stack overflow
从带有Sun JDK 1.6计算质数的一些基准筛选(最好进行10次迭代预热,给JIT编译器一个机会,并排除随机调度延迟,Core 2 Duo T5600 1.83GHz):
除了非常小的大小,BitSet比boolean []更有效的存储。数组中的每个布尔值都占用一个字节。对于BitSet,runtime.freeMemory()中的数字有些混乱,但更少。
boolean []的CPU效率更高,除了非常大的大小(大约相等)之外。例如,对于大小为100万的boolean [],大约要快四倍(例如6ms对27ms),而对于一亿个,它们大约是偶数
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。