首页 > 解决方案 > google lighthouse 如何计算 javascript 评估时间以及为什么它在不同环境中的相同脚本差异很大

问题描述

我正在努力提高网站的性能分数。在Reduce JavaScript execution timeunder中运行 lighthouse 时diagnostics,我发现Script Evaluation我的一些 js 脚本是时候了。

如果我在不同的环境中运行灯塔different evaluation time for the same scripts,那么这种差异非常大,例如对于一个脚本,它从 1700 毫秒变为 100 毫秒,

我想了解how lighthouse calculates the evaluation time,所以我可以努力减少它。

这些 js 文件比其他评估时间较短的文件相对较小,我无法理解。如果重要的话,在分析中我可以看到同一个脚本的执行时间是 45 毫秒。

PS-我知道脚本执行和评估是不同的

感谢任何帮助将不胜感激。

标签: javascriptperformancegoogle-chrome-devtoolslighthouse

解决方案


Lighthouse 分数在不同的测试和设备中总是不同的,它取决于解析文件和执行的时间、它使用多少内存以及网络成本。这些细节由官员妥善记录。

评估时间是解析和执行发生的地方。

如果你有你提到的小文件,你可以检查是否有任何渲染阻塞代码或其他通常需要很长时间的同步操作。

即使您的分析测试导致执行的时间复杂度很小,也许它可能是网络成本或内存?您可以通过网络选项卡验证它或检查它可以分配多少内存。

脚本评估实际上是页面在旅途中运行所需的脚本。

因此,最好的方法是确定页面在初始加载时运行所需的脚本,并仅优化脚本的那些部分。如果它包括同步操作,那么它们可能是主要问题。

需要注意的一件事是,如果您有未使用的代码,则不会对其进行评估,因此您可以仅过滤所需的代码,而不必担心未使用的代码。

无论如何,灯塔分数在大多数时候确实是不可预测的。

您可以查看以下来源以获取更多详细信息:

脚本的启动时间

关于整体绩效评分


推荐阅读