gpt4 book ai didi

javascript - Javascript 文件大小会影响浏览器的解析时间吗?两个 5kb JS 文件的解析速度是否会比单个 10kb 文件的解析速度更快,反之亦然?

转载 作者:行者123 更新时间:2023-12-01 00:06:30 29 4
gpt4 key购买 nike

我对JS解析或性能不太了解。

但我想知道当浏览器解析大文件与总大小相同的小文件时是否存在性能差异。

什么解析速度更快:

10kb vs. (2 x 5kb)

这有关系吗?或者说是可以忽略不计的?如果我们比较呢:

1mb vs. (1000 x 1kb)

注1:这是关于浏览器解析JS的。

注2:我假设它们都是相同的 JS 代码。我的意思是,无论是在单个文件中,还是分割在多个较小的文件中,解析的代码应该是相同的。

最佳答案

(这里是 V8 开发人员。)

对于解析速度来说,脚本的总量很重要,而不是文件的组织方式。

也就是说,可能会产生次要影响,这可能对整体感知的页面加载性能产生比原始解析速度更大的影响。正如 Ashok 的回答指出的那样,下载是整个过程的一部分,历史上许多小资源都处于不利地位,正如您所指出的,这应该通过 HTTP2 来解决。另一方面,与单个较大的 block 相比,由于并发连接,一些资源可能会获得加速。

另一个值得考虑的效果是缓存。如果您的代码的一部分很少更改(例如第三方库,您每隔几个月更新一次),而另一部分则更改很多(例如您自己的代码,每隔一天部署新版本),那么沿着这条线分割脚本文件是有意义的,这样浏览器就可以缓存不改变的部分。这至少可以避免下载未更改的部分;有些浏览器甚至可以缓存解析/编译代码的结果,这将节省更多工作。

适用的经验法则是:

(1) 做对你的情况有意义的事情(即最方便的事情);或者至少从这个开始,看看它是否足够好。过早的优化(即:为了提高速度而使事情变得更复杂,而没有验证这是否确实必要或有帮助)通常是一个坏主意。

(2) 通过尽可能接近您实际情况的测试,亲自衡量任何替代方案。例如,对您的实际源应用实际的分割(可能是一小部分?或者如果分割是您之前所做的,则将它们合并为一个)并进行测试,而不是生成数千个具有虚拟内容的文件。如果你无法衡量差异,那么差异就不重要了!如果您可以测量差异,那么您就得到了答案:-)

关于javascript - Javascript 文件大小会影响浏览器的解析时间吗?两个 5kb JS 文件的解析速度是否会比单个 10kb 文件的解析速度更快,反之亦然?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60338924/

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