gpt4 book ai didi

c++ - 不仅性能而且内存大小的内存对齐优化

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:45:20 25 4
gpt4 key购买 nike

我们知道当你这样定义A时,A的大小是不同的:

class A 
{
short a;
double b;
short c;
};

或者像这样

class A 
{
short a;
short c;
double b;
};

我假设我们正在为 32 位操作系统编译并且我们已经告诉编译器对齐到 32 位。

编译器是否真的很难通过重新排序定义来获得最小大小,同时实现相同的性能?

最佳答案

这太难了。结构特别需要按照与结构定义完全相同的顺序对字段进行排序。

这个要求可能是对 Pascal 没有这样的要求并导致令人惊讶的结果的 react 。

无论如何,并非所有 CPU 架构都需要对齐或填充。在大多数情况下,它会导致轻微的性能损失。在现代处理器时代,由于 CPU 流水线的其他方面,内存提取中额外的一两个周期可能会消失。

关于c++ - 不仅性能而且内存大小的内存对齐优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20653322/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com