为了在动画场景中每秒必须运行60次或更多的代码尽可能轻量化,我对一行看似无关紧要的2行代码感到好奇。
我知道性能优势可能是零,但为了更好地理解我的代码在CPU中的实际工作方式,我想问下面的问题:
这些序列中的一个是否会生成更优化(甚至是最低限度)的cpu操作集,为什么? (或者可能,"为什么不呢?")
假设显然是未优化的编译方案。
objA.scaleX = _inversionFactor * value;
objA.scaleY = value;
VS
objA.scaleX = objA.scaleY = value;
objA.scaleX *= _inversionFactor;
答案 0 :(得分:0)
假设显然是未优化的编译方案。
由于您对performance和optimization感兴趣,因此这并不是显而易见的,而是精神分裂的假设。
我想从编译器/性能人员那里了解到这些 通道,cpu如何实际看到这些操作。
CPU根本看不到这些操作,它会看到编译器对它们做了什么,这显然取决于编译器。
"在一个完美的世界中,它表示为纯cpu指令 或装配,是其中一个更好的"
您忽略了不仅有一种方法可以将源代码表示为CPU指令,因此您的问题未得到详细说明。