use*_*564 2 c++ cpu optimization assembly
来自另一家公司的一些非常昂贵的程序员告诉我一些针对特定CPU的低级代码优化技巧,包括管道优化,这意味着,在特殊订单中安排代码(显然是内联汇编),以便更好地适应管道用于目标硬件.
由于存在无序和推测性的执行,我只是想知道有没有点可以做这种低级别的东西?我们大多数都参与高性能计算,因此我们可以专注于一种非常具体的CPU类型来进行优化,但我不知道是否有任何意义要做这种特定的优化,任何人都有这方面的经验,从哪里开始?有这种优化的代码示例吗?非常感谢!
我首先要说的是编译器通常会充分优化代码(即足够好),只要优化了高级代码和算法,就不必担心这一点.一般而言,只有在您有确凿的证据证明存在可以量化和跟踪的实际性能问题时,才会进行手动优化.
现在,说到这一点,总是可以改进一些东西 - 有时是一点点,有时甚至很多.
如果你在高性能计算游戏中,那么这种优化可能是有意义的.有各种各样的"技巧"可以做,但最好留给真正的专家,而不是胆小的人.
如果您真的想了解更多关于这个主题的信息,一个好的起点是阅读Agner Fog的网站.