现代系统的最佳结构尺寸
Optimal Struct size for modern systems
我读到,要在大型集合中使用的性能结构的理想大小是32字节。这是真的吗?为什么?这会影响64位处理器吗?还是不适用?
这是在现代(2008+)家庭基于英特尔的系统的背景下进行的。
结构的理想大小足以容纳所需的信息。
结构的最佳大小通常是存储它应该包含的任何数据所需的最小大小,而不需要任何技巧,如比特旋转/未对齐访问来使其适合。
结构的理想大小可能是一个缓存行(或其子倍数)。一级缓存行通常为32或64个字节。跨越缓存线边界拆分数据结构的元素将需要两次主存储器访问来读取或写入它,而不是一次。
我认为你的问题没有一个合理的答案。在没有任何关于应用程序上下文的信息的情况下,"结构的理想大小"是远远没有指定的。
顺便说一句,32位是一个现代整数的空间——除了几个字符或位字段之外,它对一个"结构"来说不够大。
相关文章:
- C++:实现向量和矩阵类的最佳结构
- 在只读(即 const)访问器上执行结构化绑定的最佳实践是什么?
- 用于筛子的最佳数据结构是什么(即一些被划掉的数字列表)?
- 用于存储分组关系和支持外观的最佳数据结构
- 适用于频繁更改的大型数据集的最佳数据结构
- 删除父/子窗口层次结构的最佳方法
- 点遍历的最佳数据结构
- 从包含 IP 标头片段的二进制文件中读取结构的最佳方法是什么
- 代表软件包安装和系统依赖关系的最佳数据结构
- 将结构的所有元素归零的最佳方法
- 数字序列的最佳数据结构 [0:9]
- 能够访问逐项列表的最佳结构
- 我的数据结构的最佳序列化方法
- 存储数据列表并自动分配给结构的最佳方法是什么
- 当您知道结构将来会更改时,实现结构读写的最佳方法是什么
- 读取四个数据文件并使用函数将它们放入结构数组的最佳方法是什么
- 用于在具有更新查询的二维矩阵中查找最大值的最佳数据结构
- 哪种数据结构是在一个向量中搜索和计数对象对的最佳数据结构
- 最佳数据结构存储文本文件中的数字集
- 结构最佳方法中的向量?C++