1) 在 32 位 CPU 上,访问 32 个布尔值的数组还是访问一个字中的 32 位更快?(假设我们要检查第 N 个元素的值,并且可以使用位掩码(设置第 N 位)或整数 N 作为数组索引。)
在我看来,数组会更快,因为所有常见的计算机体系结构本身都在字级别(32 位、64 位等,并行处理)工作,并且访问子字位需要额外的工作。
我知道不同的编译器会以不同的方式表示事物,但似乎底层硬件架构会决定答案。还是答案取决于语言和编译器?
并且,2)如果这个数组代表我在客户端和服务器之间传递的状态,速度答案是否会反转?阅读问题“如何使用位/位运算符控制对象状态? ”时想到了这个问题
PS 是的,我可以自己编写代码来测试它,但是 SO 社区将无法参与其中!