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语法即可,他会计算一段代码执行的间隔时间

  • 相关阅读:
    9.3 simulated match
    网络流模版大全
    Treblecross
    ENimEN
    求逆序对的两种方法(树状数组/归并排序)
    树状数组
    计算最短路和次短路条数
    Python3.7版库的安装以及常用方法(十分简单)
    二维线段树(hdu1823)
    流星雨(记忆化搜索)
  • 原文地址:https://www.cnblogs.com/diantao/p/5271652.html
Copyright © 2011-2022 走看看