假設您想對不同的JavaScript循環的性能進行基準測試,例如:http://jsperf.com/fastest-array-loops-in-javascript/11。或者你想在命令行上用Unix time
命令進行基準測試。每次執行代碼的方式是什麼?
在計算機內部,什麼東西會阻止代碼每次都以相同的持續時間執行?我所說的「持續時間」,爲什麼Node.js中的JavaScript while (i--)
循環不會每次都精確到1.3284ms?尋找晶體管和高級編程語言之間的連接(一些關鍵詞或論文)。
它還取決於操作系統在不同時間的資源可用性,除了其他因素 –
我的問題是,這些「資源」是什麼,它們是如何工作的?我如何將它們包含在基準計算中,以便將它們從等式中移除? –
我想這是關於在多任務環境下進行調度。有像IMO緩存命中/未命中這些因素可能會因執行而不同的因素。如果你完全想要消除這些因素,你將不得不在沒有多任務操作系統的情況下運行你的應用程序。 –