js 使用console计算代码运行时间

时间:2022-01-12 23:23:51

需求

如果学习前端一定时间以后,就会考虑性能方面的问题。那么问题来了,我们怎么计算出一段代码的运行时间呢?

使用console.log配合Date对象计算

比如,我们计算sort方法排序十万个随机数组成的数组需要用多长时间的话,可以这么写:

        var arr = [];
        for(var i=0; i<100000; i++){
            arr.push(Math.random());
        }
        var beginTime = +new Date();
        arr.sort();
        var endTime = +new Date();
        console.log("排序用时共计"+(endTime-beginTime)+"ms");

最后在控制台会显示:

排序用时共计552ms

下面,再介绍一种更灵活更准确的方法。

使用console.time进行时间计算

这种方法比上一种更准确,而且专门为性能产生的方法:
测试案例:

        var arr = [];
        for(var i=0; i<100000; i++){
            arr.push(Math.random());
        }
        console.time("sort");
        arr.sort();
        console.timeEnd("sort");

控制台会打印出:

sort: 542.668701171875ms

这种方法在需要测试的开始位置写上console.time,并且括号内传一个字符串。在结束的位置使用console.timeEnd方法,并再次把字符串传入。
个人推荐第二种方式。