【发布时间】:2012-10-12 11:57:35
【问题描述】:
我正在研究 Web 浏览器中 JavaScript 解析器的速度,重要的是它需要易于演示。我想出了一个简单的测试 - 想法是每个脚本块都被单独解析和执行,因此可以对一大块脚本进行计时:
<script>var start = new Date().getTime();</script>
<script>
/*! jQuery v1.8.2 jquery.com | jquery.org/license */
...
</script>
<script>alert ( new Date().getTime() - start );</script>
从表面上看,这似乎可行,删除中间的脚本块将导致可以忽略不计的时间。
但我不确定我的逻辑是否存在根本性缺陷。
【问题讨论】:
-
除此之外,您可能会发现浏览提交给 JSPerf 的一些性能测试所采用的策略很有趣:jsperf.com/browse
-
您会对此有所了解,但不要忘记缓存对加载和解析时间的影响。如果浏览器以前看过一个脚本,它可能会缓存已编译的代码。此外,您不是第一个对解析速度感到好奇的人。 carlos.bueno.org/2010/02/…
-
我经常使用 JSPerf,但我还没有想到一种方法可以在那里适当地实现它。你说得对,它是一个很好的资源。 @MikeMcCaughan 如果只是在文档上点击刷新它会产生巨大的差异,我很快就警告说,这只能在禁用缓存或在新环境中完成。
-
@i_like_robots;这里我指的是 JavaScript 引擎缓存代码的编译版本,而不是浏览器页面缓存。请参阅以下答案以获得更好的概述:stackoverflow.com/questions/1096907/…
-
@MikeMcCaughan 有用,谢谢
标签: javascript performance browser pagespeed