作者tomin (弱水三千 只取一瓢飲)
看板Web_Design
標題Re: javascript benchmark (js效能測試 on creating function)
時間Sun Mar 11 20:05:57 2012
※ 引述《tonytonyjan (南洋大兜蟲)》之銘言:
: 想請問這兩個寫法對於記憶體或效能影響什麼差別嗎?
: // Example 1
: for(i=0;i<1000000000;i++){
: x = function(){alert()} // 是否會產生一堆的 function object?
: }
: // Example 2
: function f(){alert()}
: for(i=0;i<1000000000;i++){
: x = f // 這個我確定只會有一個 function
: }
記憶體我不知道 不過效能我測出來了
前者比較快 比後者快2.5倍
測試來源:
http://jsperf.com/inital-function
http://jsfiddle.net/xKvu2/
原因我不清楚 也許將一個變數綁定並reference至一個function很花成本?
另外我有個問題 後者有function call好像特別難測?
像以下這兩個版本 都無法正確測試後者實際執行的時間
http://jsfiddle.net/GFue7/
http://jsfiddle.net/hzm97/
我想將測試code寫得通用、簡潔、漂亮一點 以後可當lib用
或是有那個lib還不錯用?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.24.41.89
※ 編輯: tomin 來自: 114.24.41.89 (03/11 20:08)
推 eight0:是在哪個瀏覽器上測的結果?... 03/11 23:07
→ tomin:瀏覽器影響很大... 03/12 02:26