一种测试javascript方法的方法
问题描述:
有什么方法可以比较两种方法的执行时间吗?一种测试javascript方法的方法
例如我不知道哪种方法更快:querySelector()或getElementById()。 理论上,我想时间应该是一样的。但是如果我想在实践中检查它呢?有什么办法可以执行第一种方法,并检查花费了多少时间,然后用第二种方法做相同的处理,然后比较两个结果?
答
Chrome,Chromium,Mozilla等浏览器支持分析工具。您可以使用该
而且你可以在传统意义上做手工
- 措施开始时间
- 重复空循环多次
度量上的差异,这是循环的开销。
措施开始时间
- 重复代码多次
- 度量上的差异,通过的次数减去循环和鸿沟的开销。
答
微型基准测试并不总能为您提供真实场景中实施成本的准确表示。 即使您运行完全相同的机器码,代码也会在缓存中准备就绪,您的使用案例中可能不会这样。
由于现代javascript引擎优化了热循环代码,所以微基准机器代码可能会大不相同,这个问题更加复杂。唯一的方法是实现这两个(或更多)方法,并在具有类似负载的特定用例中进行测试。
尽管大多数情况下,搜索一堆(如jsperf)会给你一个想法,并告诉你,如果一个实现是大幅度更高性能。
答
var startTime = new Date().getTime();
document.querySelector("element");
var endTime = new Date().getTime();
console.log(endTime - startTime)
var startTime = new Date().getTime();
document.getElementById("element");
var endTime = new Date().getTime();
console.log(endTime - startTime)
通过这个你可以seperately得到以毫秒为单位的持续时间
搜索关于一般“的JavaScript基准”。 https://*.com/q/1003855/153197问题应该显示你在询问之前做了一些研究。 – jdv
[howto基准javascript代码?]的可能的重复(https://*.com/questions/1003855/howto-benchmark-javascript-code) –
jdv就是这样!谢谢!穆图库马兰是的,我不知道这个词。 – glupiec