gpt4 book ai didi

JavaScript 优化 : how to cache local variables' initial values more efficiently?

转载 作者:行者123 更新时间:2023-12-02 18:30:40 27 4
gpt4 key购买 nike

我只是好奇。也许有人知道 2013 年 JavaScript 引擎可以优化哪些内容,不能优化哪些内容?对最近的 future 有什么假设吗?我一直在寻找一些好文章,但互联网上仍然没有“圣经”。

好吧,让我们关注一个问题:

假设我有一个每 10 毫秒或在紧密循环中调用一次的函数:

function bottleneck () {

var str = 'Some string',
arr = [1,2,3,4],
job = function () {
// do something;
};

// Do something;
// console.log(Date.getTime());
}

如您所见,我不需要每次都计算变量的初始值。但是,如果我将它们移动到更高的范围,我就会失去变量查找的能力。那么有没有办法告诉Javasript引擎做这么明显的事情——预先计算变量的初始值?

我关心了一个jsperf to clear my question 。我正在尝试不同的类型。我对函数和原语特别感兴趣。

最佳答案

如果你需要每 10 毫秒调用一个函数,并且这是一个瓶颈,你应该首先想到的是“我不应该每 10 毫秒调用这个函数”。您所做的架构出现了问题。也就是说,请参阅 http://jsperf.com/variables-caching/2 中的 1b ,这比“缓存”版本快大约四倍 - 主要原因是对于代码中的每个变量,您要么向上移动范围,要么重新声明。在 1b 中,我们向上移动一次范围,获取“缩写”,然后根据本地引用为其内容设置本地别名。节省了大量时间。

关于JavaScript 优化 : how to cache local variables' initial values more efficiently?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17834361/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com