zoukankan      html  css  js  c++  java
  • js展开运算符优化

    [...arr, item]比之[item, ...arr],在谷歌浏览器中有更快的速度,几乎一倍以上(其他浏览器未优化)
    启动V8引擎的 7.2版本(为Chrome中的JS执行提供支持),可以对展开运算符进行新的优化:快速路径优化( fast-path optimization)
    简单说,它的工作原理如下:
    如果没有这种优化,当引擎遇到一个展开操作符[…iterable, item],它调用iterable对象的iterator (iterator.next())方法。在每次迭代中,最后返回的数组的内存都会增加,并将迭代结果添加到其中。
    但是快速路径优化检测到一个已知的可迭代对象(就像一个整数数组),并完全跳过iterator对象的创建。然后,引擎读取扩展数组的长度,只为结果数组分配一次内存。然后传递展开数组的索引,将每个元素添加到结果数组中。
    快速路径优化会跳过迭代对象的创建,只为结果分配一次内存,从而性能提高。

    链接

    下面的链接可以看到firefox是最快的,即使没有优化
    JS中如何提高展开运算符的性能

  • 相关阅读:
    Python变量常量命名
    代码格式
    Python 输入输出
    数据源
    LaTeX Test
    软件工程
    eclipse-智能提示设置
    java代码里设置指定颜色常值
    命令行中Vim直接打开某行
    Vim里快速替换命令
  • 原文地址:https://www.cnblogs.com/panshaojun/p/14339569.html
Copyright © 2011-2022 走看看