2011-10-15 48 views
-2

我知道PHP的性能受這些事情的影響,所以我的問題是更快。這兩個JavaScript代碼的速度有多快?

這一個

Math.random()*99999 

或這一個

new Date().getTime() 

我打算用結果追加到一個URL的緩存清除的目的。

+6

沒有實際的區別,除非你在同一頁面上做了幾百或幾千次。 – JJJ

+1

實際區別在於兩個*完全不同的東西*。擔心當前時間或某個隨機數字是否更快,而不是哪一個更準確,是過早優化的教科書示例。一般來說,這是導致PHP程序員錯誤的第二件事。 :P – cHao

回答

3

http://jsperf.com/datevsrand的測試用例顯示Math.random()明顯加快,但即使在我的電腦上,您仍然可以生成6,5百萬時間戳每秒。

所以,再次沒有實際的區別。如果存在性能瓶頸,這不會是。

另請注意,與PHP等服務器端語言相比,即使您擁有數百萬用戶,因爲計算是在客戶端計算機上完成的,所以它對網站的性能沒有任何影響。

+0

+1表示「如果存在性能瓶頸,則不會是這樣」。特別是在這個例子中;連接到服務器所需的時間,檢索數據,解析數據並替換元素的當前內容將使亞微秒差異變得更小。集中精力做正確的事情,並停止嘗試微觀優化。 – cHao