zoukankan      html  css  js  c++  java
  • js简易函数性能测试器

    如果你不想用浏览器的js性能测试工具,可以用下面这个简单的函数测试一下(1毫秒一下的就测不出来了)

    function testFn(fn,param){
    	var start = new Date().getTime();
    	fn(param);
    	var end = new Date().getTime();
    	console.log(fn.name+"耗时:"+(end - start)+"毫秒"); //IE不支持fn.name
    }
    

    下面就来测试一下

    var arr = [];
    for(var i=0;i<10000;i++){
    	arr.push(i);
    }
    function getSumUseFor(arr){
    	var sum = 0;
    	var len =arr.length;
    	for(var i=0;i<len;i++){
    		sum+=arr[i];
    	}
    	console.log(sum);
    }
    function getSumUseShift(arr){
    	var sum = 0;
    	var len =arr.length;
    	for(var i=0;i<len;i++){
    		sum+=arr.shift();
    	}
    	console.log(sum);
    }
    testFn(getSumUseFor,arr);
    testFn(getSumUseShift,arr);
    

    结果显示for的效率要明显高于shift()

    ================分割线===========================

    1ms以内可以用console.time进行测试,代码如下

    function testFn(fn,param){
    	console.time("small loop");
    	fn(param);
    	console.timeEnd("small loop");
    }
    

    执行一段代码,结果如下:

    console.time和console.timeEnd使用说明:

    这两个函数通常一起使用,都只接受一个参数,这两个参数都是字符串,随便起,只要符合js语法即可,他会计算一段代码执行的间隔时间

  • 相关阅读:
    JS URL传中文参数引发的乱码问题
    git (转载)
    php webservice
    php date之间的相互转换
    在图片上加字符-base64转图片-图片转base64
    转:微软面试一百题
    2014-8-17 note
    some base knowledge
    introduction
    Centos6.6 编译安装nginx
  • 原文地址:https://www.cnblogs.com/diantao/p/5271652.html
Copyright © 2011-2022 走看看