效能評估與效能剖析
程式很慢,但CPU使用率只有20%左右。最可能的原因為下列何者?
- ACPU的運算太快
- B程式的指令數太少
- C因為等待磁碟或網路的輸入輸出、等待鎖定(lock)等,不使用CPU而在等待的時間很長
查看答案與解析
正確答案:C. 因為等待磁碟或網路的輸入輸出、等待鎖定(lock)等,不使用CPU而在等待的時間很長
如果CPU使用率很低但程式很慢,可以認為大部分時間是在等待CPU以外的某些東西,例如磁碟的讀寫、網路的回應、其他執行緒持有的鎖定被釋放等。在這種情況下,即使讓CPU更快,或是將運算的程式碼最佳化,效果也幾乎不大。將輸入輸出集中處理、改為非同步以便在等待期間處理其他事情、縮小鎖定的範圍等作法都很有效。
- A. 太快不會成為緩慢的原因。
- B. 指令少不會成為緩慢的原因。
- C. 正確。即使讓CPU更快也無法解決。