效能評估與效能剖析

關於在函式的入口與出口插入測量時間的程式碼來進行記錄的檢測(instrumentation)式剖析器,下列何者正確?

  1. A記錄的處理完全不花時間
  2. B能準確記錄被呼叫的次數等,但記錄的處理本身會花費時間,尤其在小函式很多的程式中,結果可能會失真
  3. C函式的入口與出口,在任何程式中都不存在
查看答案與解析

正確答案:B. 能準確記錄被呼叫的次數等,但記錄的處理本身會花費時間,尤其在小函式很多的程式中,結果可能會失真

檢測式會記錄所有函式的呼叫,因此能不遺漏且準確地得知次數與呼叫關係。然而,每次呼叫函式都會多出記錄用的處理,所以在大量呼叫小函式的程式中,記錄的時間有時會超過原本處理的時間。因此要區分使用:時間的比例用取樣式,準確的次數用檢測式。

  • A. 因為會執行記錄用的指令,所以要花時間。
  • B. 正確。這是測量改變了被測對象的例子。
  • C. 函式一定有入口與出口。
練習這個領域 前往領域頁面

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

  1. 關於程式效能分析中所謂熱點(hotspot)的說明,下列何者正確?
  2. 關於表示剖析結果的火焰圖(flame graph)的讀法,下列何者正確?
  3. 以內建於CPU的效能計數器(PMU)可計數的項目,下列何者為正確的例子?
  4. 以效能計數器測量後,發現某程式的IPC(每個週期的指令數)非常低,為0.3,且最後一級快取的失誤很多。下列何者是最可能的狀況與對策的組合?
  5. 以效能計數器發現分支預測錯誤非常多。下列何者是適用的改善方法?