技术开发 频道

Chrome开发者工具做JavaScript性能分析

  区隔问题

  我做了第二个版本,这个版本中“颜色排序器”在我点击按钮之后才载入,而不是在document ready的时候载入。这就把文档载入的过程分离出去,让我可以只对颜色分类进行性能测试。调完性能之后我可以立刻改回去。

  让我们调用新的函数testColorSorter并把它绑定到一个可点击的按钮上。

  function testColorSorter() {
  makeColorSorter(.05, .05, .05, 0, 2, 4, 128, 127, 121);
  makeSortable();
  }
  1
  <button id="clickMe" onclick="testColorSorter();">Click me</button>

  在我们进行性能分析之前改变应用可能导致意外的结果。这个改动看起来很安全,但是我还是要重新运行性能检测器来看看我是不是无意中改变了什么。我会开始一次新的性能分析,点击应用中的按钮然后停止。

Chrome开发者工具做JavaScript性能分析

  我首先注意到decimalToHex函数的载入只占用了4.23%的时间。这是代码执行花费时间最多的地方。我们创建一个新的基线来看看这个方案对代码有多大的优化。

Chrome开发者工具做JavaScript性能分析

  有些事件在我点击按钮之前有触发了,但是我只关注从我点击鼠标到浏览器渲染“颜色排序器”花费的时间。鼠标在390毫秒时点击,渲染事件在726毫秒处被触发。726减去390得到我的基线336毫秒。和第一个基线一样我重复了3次来取平均值。

  这时,我知道如何获得并且得到了代码确切的运行时间,我们已经准备好开始解决问题了。

1
相关文章