编译

学习汇编语言的主要好处不是能够用汇编语言编写程序,而是了解编译代码过程中发生的事情及其对性能的影响。

在极少数情况下,我们确实需要切换到手写汇编以获得最大性能,但大多数情况下,编译器能够自己生成接近最佳的代码。当编译器没有这样做时,通常是因为程序员对问题的认知比能从源代码中推断出的要多,且未能将这些额外信息传达给编译器。

在本章中,我们将讨论让编译器完全按照我们的要求进行编译的复杂性,以及收集可以指导进一步优化的有用信息的复杂性。