为什么随着时间的推移,JavaScript代码的执行速度会更快?

编程入门 行业动态 更新时间:2024-10-09 11:18:30
本文介绍了为什么随着时间的推移,JavaScript代码的执行速度会更快?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我一直在解决这个问题,发现了一些有趣的行为。基本上,如果我连续多次对相同的代码进行基准测试,代码的执行速度会显著加快。

代码如下:

codepen.io/kirkouimet/pen/xOXLPv?editors=0010

以下是Chrome的截图:

有人知道发生了什么事吗?

我正在检查性能:

var benchmarkStartTimeInMilliseconds = performance.now(); ... var benchmarkEndTimeInMilliseconds = performance.now() - benchmarkStartTimeInMilliseconds; 推荐答案

Chrome V8优化编译器最初编译代码时不进行优化。如果您的代码的某个部分经常被执行(例如函数或循环体),V8会用优化的版本(即所谓的堆栈上替换)替换它。

根据wingolog/archives/2011/06/08/what-does-v8-do-with-that-loop:

V8始终将JavaScript编译为本机代码。V8第一次看到 一段代码,它快速地编译它,但不优化它。这个 初始的未优化代码是完全通用的,可以处理所有不同的 人们可能会看到的案例,还包括一些类型反馈代码, 记录在中的各个点上看到的类型 程序。

启动时,V8派生一个分析线程。如果它注意到一个 特定的未优化程序很热,它收集记录的类型 该过程的反馈数据,并使用它来编译优化的 程序的版本。然后替换未优化的旧代码 使用新的优化代码,该过程将继续

其他现代JS引擎也以类似的方式识别并优化这些热点。

更多推荐

为什么随着时间的推移,JavaScript代码的执行速度会更快?

本文发布于:2023-11-27 18:04:25,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1639035.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:更快   速度   代码   时间   JavaScript

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!