2010-04-24 74 views
1

我一直在編寫我的第一個jQuery插件,並努力尋找一種方法來計算不同代碼運行所需的時間。Javascript細粒度性能調整

我可以使用firebug和console.time/profile。然而,看起來這是因爲我的代碼執行得太快了,我沒有得到配置文件的結果,並且隨着時間的推移吐出0ms。 (Firebug profiling issue: "no activity to profile"

有沒有一種方法來獲得更詳細的時間在毫秒級的JavaScript?

更新:我已經把代碼放在循環中循環一百萬次,但這不是一個理想的解決方案。

+4

爲什麼要優化需要0ms的函數,而您不打算放入循環? – Wikser 2010-04-24 05:45:45

+0

主要是因爲我是一個完美主義者。但也因爲它的樂趣,並且知道當你必須循環做或者它們很貴時,什麼是做某些事情的最快方法是有用的。 – Alistair 2010-04-24 06:26:33

回答

0
var startTime = new Date(); 
// do something 
var totalTime = new Date() - startTime; 
alert(totalTime); 
+0

這隻會做毫秒。所以在我想測試的代碼的情況下,將需要0ms。 – Alistair 2010-04-24 09:06:43

+0

您可以添加一個包含1000個調用的循環來解決問題,但通常情況下,您應該只優化代碼片段,這些代碼片段非常慢,而不是執行時間少於1毫秒。在這種情況下,你花更多的時間和時間來處理這個問題。 – Oleg 2010-04-24 09:21:14

0

這聽起來有點不可思議,但是:買一臺真正舊的電腦。 Pentium 2會很好地運行。這不是一個昂貴的解決方案,你可以將整個機器奉獻給你的完美主義。看到腳本運行並構建了足夠慢的頁面元素以查看它是非常可愛的。