2017-08-26 116 views
1

有什么方法可以比较两种方法的执行时间吗?一种测试javascript方法的方法

例如我不知道哪种方法更快:querySelector()或getElementById()。 理论上,我想时间应该是一样的。但是如果我想在实践中检查它呢?有什么办法可以执行第一种方法,并检查花费了多少时间,然后用第二种方法做相同的处理,然后比较两个结果?

+0

搜索关于一般“的JavaScript基准”。 https://stackoverflow.com/q/1003855/153197问题应该显示你在询问之前做了一些研究。 – jdv

+0

[howto基准javascript代码?]的可能的重复(https://stackoverflow.com/questions/1003855/howto-benchmark-javascript-code) –

+0

jdv就是这样!谢谢!穆图库马兰是的,我不知道这个词。 – glupiec

回答

0

Chrome,Chromium,Mozilla等浏览器支持分析工具。您可以使用该

而且你可以在传统意义上做手工

  • 措施开始时间
  • 重复空循环多次
  • 度量上的差异,这是循环的开销。

  • 措施开始时间

  • 重复代码多次
  • 度量上的差异,通过的次数减去循环和鸿沟的开销。
0

微型基准测试并不总能为您提供真实场景中实施成本的准确表示。 即使您运行完全相同的机器码,代码也会在缓存中准备就绪,您的使用案例中可能不会这样。

由于现代javascript引擎优化了热循环代码,所以微基准机器代码可能会大不相同,这个问题更加复杂。唯一的方法是实现这两个(或更多)方法,并在具有类似负载的特定用例中进行测试。

尽管大多数情况下,搜索一堆(如jsperf)会给你一个想法,并告诉你,如果一个实现是大幅度更高性能。

0
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得到以毫秒为单位的持续时间

+0

我喜欢它!谢谢! – glupiec

+0

很高兴听到。所以你可以评价这个答案。它会帮助其他人找到最佳答案 – thinuwan

+0

我做了,但没关系。我低于15点的声誉。 – glupiec

相关问题