顯示廣告
隱藏 ✕
※ 本文為 tomin 轉寄自 tomin.twbbs.org 更新時間: 2012-04-28 22:27:52
看板 coding
作者 tomin (科學大師、哲學博士)
標題 javascript benchmark (js效能測試 on creating function)
時間 2012/03/11 Sun 20:10:56


看板 Web_Design
作者 tomin (弱水三千 只取一瓢飲)
標題 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還不錯用?

--
  Origin:  Loess Plateau˙黃土高原  tomin.twbbs.org
  Author: tomin 從 114-24-41-89.dynamic.hinet.net 發表

--
※ 看板: tomin 文章推薦值: 0 目前人氣: 0 累積人氣: 32 
guest
x)推文 r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇