google lighthouse 如何计算 javascript 评估时间以及为什么不同环境下相同脚本的评估时间差异很大

Ana*_*han 3 javascript performance lighthouse google-chrome-devtools

我正在努力提高网站的性能分数。Reduce JavaScript execution time在under中运行 lighthouse 时diagnostics,我看到Script Evaluation一些 js 脚本的时间很长。

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

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

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

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

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

Ash*_*dav 5

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

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

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

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

脚本评估实际上是页面实时运行所需的脚本。

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

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

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

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

脚本的启动时间

关于整体表现评分