微调
struct
成员的布局/位置时,
优化空间效率(最小化填充和紧密对齐成员,并使用编译器的积分功能),自然优化运行时效率吗?
我的理解是,更紧凑的内存布局允许更多相关数据/内存放入缓存中,例如虚拟内存的 TLB 和处理器的 L1/L2/...,从而在程序执行期间实现更快的访问速度。
我对支持这一想法的理论原则和既定指南感兴趣,或者它是否比看起来更复杂。
谢谢
优化空间效率(最小化填充和紧密对齐成员,并使用编译器的积分功能),自然优化运行时效率吗?
绝对不是。 经典反例:有时添加填充可以改善对齐方式,从而提高速度,但会占用更多空间。