是否更优化分配然后乘以* =?在这种情况下?

时间:2016-02-03 02:11:17

标签: performance optimization

为了在动画场景中每秒必须运行60次或更多的代码尽可能轻量化,我对一行看似无关紧要的2行代码感到好奇。

我知道性能优势可能是零,但为了更好地理解我的代码在CPU中的实际工作方式,我想问下面的问题:

这些序列中的一个是否会生成更优化(甚至是最低限度)的cpu操作集,为什么? (或者可能,"为什么不呢?")

假设显然是未优化的编译方案。

objA.scaleX = _inversionFactor * value;
objA.scaleY = value;

VS

objA.scaleX = objA.scaleY = value;
objA.scaleX *= _inversionFactor;

1 个答案:

答案 0 :(得分:0)

  

假设显然是未优化的编译方案。

由于您对感兴趣,因此这并不是显而易见的,而是精神分裂的假设。

  

我想从编译器/性能人员那里了解到这些   通道,cpu如何实际看到这些操作。

CPU根本看不到这些操作,它会看到编译器对它们做了什么,这显然取决于编译器。

  

"在一个完美的世界中,它表示为纯cpu指令   或装配,是其中一个更好的"

您忽略了不仅有一种方法可以将源代码表示为CPU指令,因此您的问题未得到详细说明。