访问全局变量或对象变量是否更快?全局变量和对象变量之间的速度差异
在C++中,我
::foo
和
this->foo
之间参照差在x86汇编,这基本上转化为
mov eax, offset foo
VS
mov eax, dword ptr[edx+foo]
这两种情况下的所有数据都预计在缓存中。 (我知道区别是什么会很小,而且通常应该选择哪个代码更简单;但在这种情况下,实际上没有其他区别,并且有问题的代码将被称为大概5亿个时间限制在一段时间内,所以我还不如去更快的那个)
怎么样测试和计时两个变种? – sharptooth 2010-09-23 06:26:34
如果重要,这是值得的时间。也就是说,成员变量可能会更频繁地与其他数据缓存在一起。 – GManNickG 2010-09-23 06:29:30
“限时”?这是什么时间限制?每秒五亿次访问可能意味着性能方面的重要性,但每小时五亿次将使其完全无关紧要。 – jalf 2010-09-23 08:50:29