效能評估與效能剖析

測量程式的執行時間時,常會重複同樣的測量多次,並排除最初的幾次結果,其理由下列何者正確?

  1. A因為最初的幾次,運算結果一定是錯的
  2. B因為一開始快取是空的,或會進行檔案讀取、執行時期編譯等而較慢,而且測量也會有變動
  3. C因為重複相同的測量,CPU會製造出變快的電路
查看答案與解析

正確答案:B. 因為一開始快取是空的,或會進行檔案讀取、執行時期編譯等而較慢,而且測量也會有變動

第一次執行時,快取、TLB與分支預測器是從空的狀態開始,檔案不在作業系統的快取中而必須從磁碟讀取,使用JIT編譯器的語言還會進行轉換為機器碼的處理。因此最初的幾次會比較慢。此外,測量也會因其他程式、中斷、溫度造成的頻率變化等而產生變動,所以重複測量許多次,並呈現平均值、中位數與變動幅度是很重要的。

  • A. 結果是正確的,只是時間不同。
  • B. 正確。這稱為暖機(warm-up)。
  • C. 電路不會改變。
練習這個領域 前往領域頁面

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

  1. 只測量一次非常短的處理時間時的問題與對策,下列組合何者正確?
  2. 在執行時間的測量方式中,「牆上時鐘時間(wall-clock time)」與「CPU時間」的差異,下列何者正確?
  3. 關於表示伺服器效能的吞吐量(throughput)與延遲(latency)的說明,下列何者正確?
  4. 評估Web服務的回應時間時,常不只看平均值,還會看第99百分位數(從慢的一端算起1%的分界)的值,其理由下列何者正確?
  5. 某伺服器每秒收到100件請求,每件的處理平均花0.2秒(假設為穩態)。伺服器內同時處理中的請求平均有幾件(利特爾法則,Little's law)?