zoukankan      html  css  js  c++  java
  • 关于javascript代码执行时间的计算

    最近看了《高性能Javascript》一书,发现了几个计算代码执行时间的方法,感觉还挺有用的。

    以前我们要计算程序,函数的执行之间,通常是在代码执行前后加入时间戳,两者的差值即为执行时间,如下:

    var count=1000;
    var begin=new Date();
    for(var i=0;i<count;i++){
    document.createElement("div");
    }
    var end=new Date();
    var time=end-begin;
    console.log("time is="+time);

    这样确实能够显示代码执行时间,但是计算其他的代码要重复写时间戳,有必要写一个对象封装执行过程,先新建一个Timer,

    var Timer={
      data:{},
      start:function(key){
        Timer.data[key]=new Date();
      },
      stop:function(key){
        var time=Timer.data[key];
        if(time)
        Timer.data[key]=new Date()-time;
      },
      getTime:function(){
        return Timer.data[key];
      }
    };
    // test
    Timer.start("div");
    for(var i=0;i<count;i++
    ){
    document.createElement("div");
    }
    Timer.stop("div");
    console.log("the time is:"+Timer.getTime());
     

    这是我们定义的方法,只能显示执行时间,不过chrome等主流浏览器的console,提供的方法不仅能够显示时间,还能够定位某个函数。

    代码格式如下:

    如果单纯的计算时间,可以使用console.time(),过程如下:

    console.time("XXX");

     <code></code>

    console.timeEnd("XXX");

    如果还需要一些其他的性能指标的话,可以使用console.profile,过程如下:

    console.profile("XX");

    <code></code>

    console.profileEnd("XX");

  • 相关阅读:
    Gradle with Kotlin (二) 项目、Java项目、父子、同级共享代码
    Gradle with Kotlin (一) 安装、DSL、任务、插件
    辛弃疾
    Remote Method Invoke
    Webpack (一) 选项和配置
    《芙蓉女兒誄》
    js 原型链之我见
    js 库
    Gradle
    Spring Boot 入门
  • 原文地址:https://www.cnblogs.com/williamcai/p/4781875.html
Copyright © 2011-2022 走看看