作者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)
1F:推 eight0:是在哪个浏览器上测的结果?... 03/11 23:07
3F:→ tomin:浏览器影响很大... 03/12 02:26