因此,通常有关通过汇编代码提高性能的问题的答案是“不要打扰,编译器比你更聪明”。我明白了。
但是,我注意到优化的线性代数库(例如 ACML)可以在标准编译库的 2 到 5 倍范围内实现性能改进。例如,在我的 8 核机器上,我的优化矩阵乘法运行速度比现有的单线程 BLAS 实现快了 30 倍以上,这意味着,在考虑到由于使用所有内核而带来的 8 倍改进之后,仍然有 4 倍简单地从优化中改进。
所以在我看来,优化的汇编代码真的可以产生巨大的影响。我错过了什么吗?
我在问,因为如果它不是非常困难,我可能倾向于在其他一些代码段上尝试这个。没什么复杂的,但是如果我可以通过在汇编中编写一些小的内部循环来获得 2 倍的改进,那可能是值得的。