回覆列表
  • 1 # 程式設計頌

    這個世界上很少有極度精確的事情!

    舉個例子,給你100道小學數學題,讓你剛起床計算一次,上午計算一次,下午計算一次,睡覺前計算一次。你會發現每一次所需時間是不同的,甚至你會發現你居然還算錯了兩道題。

    程式雖然執行在相對穩定(不像你情緒心智波動這麼大)的環境中,但是仍然有很多因素會影響它的每次執行。

    其他程序搶佔程式資源

    往往程式執行在不是那麼純淨的作業系統上,也就是說不僅僅只有你這個程式在電腦上執行,還有作業系統,防毒軟體,其他程式在跑,每一次執行時作業系統所處環境是完全不一樣的,你玩遊戲還有團戰卡的時候,上網的時候還有卡死的時候,為何偏偏要求跑程式時耗時一樣呢?

    快取、硬體最佳化、電池策略

    現代計算機硬體和作業系統有很多種方法幫你加速,作業系統快取,硬體最佳化(比如睿頻),電池處於高效能模式還是節能模式都會影響程式執行時間。

    不定因素

    即使你可以完全保證每一次程式執行的環境都是一模一樣的,而且有且只有一個程式在執行,那程式執行時間也不會完全相同。你的DRAM儲存器會不會恰好要重新整理?你的機械硬碟是不是恰好要尋道?你的固態硬碟是不是恰好碰到壞塊要糾錯?這些問題都可以使得執行時間千差萬別。

  • 中秋節和大豐收的關聯?
  • “紅牛”是哪個國家的品牌?