用于验证javascript代码性能的两种使用的方法
2016-05-03 17:32
453 查看
前段时间优化代码的时候,总结出两个比较使实用的检测javascript代码性能的方法。
1:dynaTrace
Ajax Edition 软件。
dynaTrace
Ajax Edition 是一个强大的底层追踪、前端性能分析工具,该工具不仅能够记录浏览器的请求在网络中的传输时间、前端页面的渲染时间、DOM 方法执行时间以及 JavaScript 代码的解析和执行时间,还可以跟踪 JavaScript 从执行开始,经过本地的 XMLHttpRequest、发送网络请求、再到请求返回的全过程。
在谷歌、火狐、ie8以上的浏览器中,都有开发人员工具,可以再开发人员工具中,对代码进行跟踪生成文件,就可以知道各部分代码的性能,但是在ie8以下的浏览器是没有开发人员工具的。前段时间我负责的一个项目中有出现一个问题,就是在ie下回弹出一个提示框。
该原因是因为该脚本的总时长或者代码行数超过ie浏览器中定义的标准。
解决这个问题的方法就是优化代码了。
但是前段代码很多,需要定位到哪里耗用时间和内存最长的地方有点麻烦,无意间发现这个dynaTrace
Ajax Edition 软件,发现很好用。按照要求安装运行之后,我发现了我最耗时的两个函数。再针对性的对这两个函数(下图绿色框中的两个函数)进行代码优化,问题就解决了。
如图
dynaTrace
Ajax Edition 软件 安装和使用的链接 http://www.ibm.com/developerworks/cn/web/1205_xieju_dtraceajax/
2:console.time()和console.timeEnd()可以用来获取一段JS代码被JS解释器解释的时间,从而可以用来比较不同代码性能上的差异.
运行后结果如下
传入的第一个参数是计时器的 name, 用以区分/应对同时需要多个计时器的情况。调用
ms(毫秒)。
1:dynaTrace
Ajax Edition 软件。
dynaTrace
Ajax Edition 是一个强大的底层追踪、前端性能分析工具,该工具不仅能够记录浏览器的请求在网络中的传输时间、前端页面的渲染时间、DOM 方法执行时间以及 JavaScript 代码的解析和执行时间,还可以跟踪 JavaScript 从执行开始,经过本地的 XMLHttpRequest、发送网络请求、再到请求返回的全过程。
在谷歌、火狐、ie8以上的浏览器中,都有开发人员工具,可以再开发人员工具中,对代码进行跟踪生成文件,就可以知道各部分代码的性能,但是在ie8以下的浏览器是没有开发人员工具的。前段时间我负责的一个项目中有出现一个问题,就是在ie下回弹出一个提示框。
该原因是因为该脚本的总时长或者代码行数超过ie浏览器中定义的标准。
解决这个问题的方法就是优化代码了。
但是前段代码很多,需要定位到哪里耗用时间和内存最长的地方有点麻烦,无意间发现这个dynaTrace
Ajax Edition 软件,发现很好用。按照要求安装运行之后,我发现了我最耗时的两个函数。再针对性的对这两个函数(下图绿色框中的两个函数)进行代码优化,问题就解决了。
如图
dynaTrace
Ajax Edition 软件 安装和使用的链接 http://www.ibm.com/developerworks/cn/web/1205_xieju_dtraceajax/
2:console.time()和console.timeEnd()可以用来获取一段JS代码被JS解释器解释的时间,从而可以用来比较不同代码性能上的差异.
运行后结果如下
传入的第一个参数是计时器的 name, 用以区分/应对同时需要多个计时器的情况。调用
console.timeEnd则立即打印出运行时间,单位是
ms(毫秒)。
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 最后一次说说闭包
- Ajax
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- Redux系列02:一个炒鸡简单的react+redux例子
- JavaScript 各种遍历方式详解
- call/apply/bind 的理解与实例分享