在开发过程中,经常需要对代码进行性能优化,以确保应用能够快速响应用户操作。本文将介绍几种工具和方法,帮助深入了解代码的性能表现,并指导如何进行有效的性能优化。
性能分析是优化代码的第一步。有许多工具可以帮助分析代码性能,例如:
在Windows 10 Technical Preview中,性能分析器现在是UI响应性窗口的一部分。
使用console.time和console.timeEnd可以轻松测量代码块的执行时间。这是一种基本但非常直观的方法。
console.time("Active meshes evaluation");
this._evaluateActiveMeshes();
console.timeEnd("Active meshes evaluation");
这种方法虽然简单,但浏览器兼容性非常好,Chrome、Firefox、IE、Opera和Safari都支持。
Performance API提供了更丰富的功能,可以帮助更精确地测量代码性能。特别是其中的mark方法,可以用来标记代码的开始和结束时间。
performance.mark("Begin of something…just now!");
// ...代码...
performance.mark("End of something…just now!");
performance.measure("Some operation", "Begin of something…just now!", "End of something…just now!");
通过在UI响应性分析器中查看用户标记,可以轻松确定哪些代码块是性能瓶颈。
babylon.js是一个3D图形库,它允许通过debug layer来发出用户标记和度量。
Tools._StartUserMark = function (counterName, condition) {
if (typeof condition === "undefined") { condition = true; }
if (!condition || !Tools._performance.mark) {
return;
}
Tools._performance.mark(counterName + "-Begin");
};
Tools._EndUserMark = function (counterName, condition) {
if (typeof condition === "undefined") { condition = true; }
if (!condition || !Tools._performance.mark) {
return;
}
Tools._performance.mark(counterName + "-End");
Tools._performance.measure(counterName, counterName + "-Begin", counterName + "-End");
};
通过这种方式,可以在UI响应性分析器中看到用户标记,并轻松识别出哪些部分的性能最差。
Microsoft提供了许多免费的开源JavaScript学习资源,包括: