效能評估與效能剖析

在處理大量資料的程式中,最有可能得到最大加速的改善是下列何者?

  1. A縮短變數的名稱
  2. B將計算量為n²的演算法改為n log n的演算法
  3. C刪除註解
查看答案與解析

正確答案:B. 將計算量為n²的演算法改為n log n的演算法

若資料數n為100萬,n²是1兆,n log n約為2000萬,差距高達5萬倍。相較於指令的細微最佳化或硬體改善所能得到的數倍效果,演算法的改善有時具有數量級的效果。在效能改善上,首先要確認是否使用了計算量大的演算法,再於其上疊加快取的使用方式與平行化等改善。

  • A. 變數的名稱不影響執行速度。
  • B. 正確。資料越多,差距就越是數量級的。
  • C. 註解不影響執行速度。
練習這個領域 前往領域頁面

效能評估與效能剖析的其他題目

  1. 在軟體開發中,每次變更都自動執行基準測試並記錄結果,其目的下列何者正確?
  2. 在筆記型電腦上測量基準測試,結果發現即使是同一個程式,每次的結果也有很大的變動。下列關於CPU方面可能原因與其對策的組合,何者正確?
  3. 在多核心或NUMA系統上測量效能時,有時會將執行緒固定在特定的核心上(設定親和性,affinity),其理由下列何者正確?
  4. 分析使用GPU的程式效能時,最先該確認的事項,下列何者最適當?
  5. 在資料中心選擇伺服器時,除了尖峰效能之外還應考慮的觀點,下列何者不適用?