【发布时间】:2009-02-11 01:07:43
【问题描述】:
我拥有高度优化的 C++ 部分,即使在远离热点的地方进行微小的更改也可能会影响高达 20% 的性能。经过更深入的调查,结果证明(可能)在热点中使用的寄存器略有不同。 我可以使用 always_inline 属性控制内联,但是我可以控制寄存器分配吗?
【问题讨论】:
-
你会碰巧受限于 32 位 x86 吗?因为 64 位 x86 有更多的寄存器(我认为大约 16 个?)并且不应该有这样的问题......
-
我尝试了64,但结果发现它更慢。我找不到原因。
标签: optimization gcc g++ inline cpu-registers