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");

  • 相关阅读:
    navicat 连接Oracle 报错 ORA-12514 TNS:listener does not currently know of service requested in connect descriptor
    centos 安装配置 redis
    ubuntu安装keras
    VB类似的InputBox为MFC
    WPF颜色选择器
    窗口样式
    IP地址、端口号、子网掩码提交表单库
    添加自定义对话框,您的应用程序
    在c#中使用异步等待构建响应式UI
    一个通用对话框
  • 原文地址:https://www.cnblogs.com/williamcai/p/4781875.html
Copyright © 2011-2022 走看看