1.3 自定义代码性能测试

浏览器并不是运行准确代码性能测试的完美环境。短时间的定时器不够准确、事件的要求、零散的垃圾回收和系统上运行的其他进程都会导致结果偏差。一般可以这样来测试JavaScript代码的性能。

这种方法虽然理论上可行,但由于前面提到的原因,现实中它不能给出准确的结果,尤其是当被测试代码只有几毫秒执行时间的情况下。

更好的方法是让被测试代码循环运行较长的时间(比如1秒),然后用在那段时间内完成的循环次数来评价性能。如果你要计算均值(mean)和中值(median)等统计信息,可以重复测试几次。

为保证测试运行较长时间,使用这个代码:

无论系统性能如何,这些测试都会运行相同的时间。更快的系统会完成更多的循环次数。在实践中采用这种方法能得到较为一致的结果。

你可以运行5次这样的性能测试,每次1秒,循环次数的中值可作为最终的衡量标准。