## 程序性能分析
下圖展示了一個程序的性能提升過程, 該程序的作用是對三維空間中n個物體的運動進行仿真。從圖中可以看出, 一個程序可以從多方面進行性能提升,而其中算法和數據結構的選擇又顯得尤為重要。

從設計層面提升程序性能:
1. 問題定義。良好的問題定義可以有效減少程序運行時間和程序長度。
2. 系統結構。將大型系統分解成模塊,也許是決定其性能的最重要的單個因素。
3. 算法和數據結構。這個不用說了。
4. 代碼調優。針對代碼本身的改進。
5. 系統軟件。有時候改變系統所基于的軟件比改變系統本身更容易。
6. 硬件。更快的硬件可以提高系統的性能。
深入閱讀:Butler Lampson的“Hints for Computer System Design”, 該論文特別適合于集成硬件和軟件的計算機系統設計。