效能評估與效能剖析
為了確認某程式是運算受限(compute-bound)還是記憶體受限(memory-bound),改變CPU的頻率來測量執行時間。若為記憶體受限,一般會得到怎樣的結果?
- A與頻率成反比,執行時間縮短
- B即使提高頻率,執行時間也不太會縮短
- C提高頻率後,執行時間變長
查看答案與解析
正確答案:B. 即使提高頻率,執行時間也不太會縮短
運算受限的程式,時間花在CPU內部的運算上,所以將頻率提高為1.5倍,執行時間幾乎會變成1/1.5。記憶體受限的程式,大部分時間是在等待資料從主記憶體送達,而這段等待時間即使提高CPU的頻率也不會改變,所以執行時間不太會變。搭配效能計數器運用這個性質,就能知道該把心力放在哪一方的改善上。
- A. 那是運算受限時的結果。
- B. 正確。因為記憶體的速度不會隨CPU的頻率而改變。
- C. 提高頻率而變慢,通常不會發生。