效能評估與效能剖析
在處理大量資料的程式中,最有可能得到最大加速的改善是下列何者?
- A縮短變數的名稱
- B將計算量為n²的演算法改為n log n的演算法
- C刪除註解
查看答案與解析
正確答案:B. 將計算量為n²的演算法改為n log n的演算法
若資料數n為100萬,n²是1兆,n log n約為2000萬,差距高達5萬倍。相較於指令的細微最佳化或硬體改善所能得到的數倍效果,演算法的改善有時具有數量級的效果。在效能改善上,首先要確認是否使用了計算量大的演算法,再於其上疊加快取的使用方式與平行化等改善。
- A. 變數的名稱不影響執行速度。
- B. 正確。資料越多,差距就越是數量級的。
- C. 註解不影響執行速度。