现代系统的最佳结构尺寸

时间:2012-03-01 23:47:39

标签: c++ c

我已经读过,在大型集合中使用的性能结构的理想大小是32字节。这是真的吗?为什么?这会影响64位处理器还是不适用?

这是在现代(2008+)家庭基于英特尔的系统的背景下。

4 个答案:

答案 0 :(得分:11)

结构的理想大小足以容纳它需要包含的信息。

答案 1 :(得分:6)

结构的最佳大小通常是存储它应该包含的任何数据所需的最小大小,而不需要任何诸如位错误/错位访问之类的黑客来使其适合。

答案 2 :(得分:2)

结构的理想大小可能是一个高速缓存行(或其子倍数)。一级缓存行通常为32或64 字节。跨越高速缓存行边界拆分数据结构的元素将需要两个主要的内存访问来读取或写入它而不是一个。

答案 3 :(得分:0)

我认为你的问题没有合理的答案。如果没有关于应用程序上下文的任何信息,那么“结构的理想大小”就是方式,方式不明确。

顺便说一下,32位是一个现代整数的空间 - 除了几个字符或位域之外,它对于“struct”来说还不够大。