本章篇幅较短,着重举了一个例子——Appel优化N体问题的过程。这是发表于1985年的一篇文章,Appel从多个层面对该问题进行了相互独立的优化,包括算法和数据结构、算法调优、数据结构重组、代码调优、硬件等层面。最终获得了400倍的加速系数,使得原先需要运行一年的程序现在只需要一天时间。
<li><strong>原理总结</strong></li>
计算机中最廉价、最快速且最可靠的元件是根本不存在的。 简单设计的重要性怎么强调都不过分。
如果仅需要较小的加速,就对效果最佳的层面做改进。 决定在某一特定层面着手之前,请先考虑一下所有可能的设计层面,然后选择“性价比”最高的那一个:投入最少的精力就可以获得最大加速系数的那个设计层面。
如果需要较大的加速,就对多个层面做改进。