Chrome 查找浏览器解析HTML所花费的时间?

thtygnil  于 2023-11-14  发布在  Go
关注(0)|答案(1)|浏览(159)

我试图理解和量化浏览器解析HTML所花费的时间,我猜这里的解析也包括构建DOM树的步骤。
我做了一个简单的节点服务器,它提供一个普通的HTML,没有脚本标签/内联JS。它只有<body />中的一些文本节点。我在本地提供它,并从Chrome访问它。我看了一下性能选项卡,它显示“解析HTML”花了大约59.80毫秒,它似乎包括评估脚本,我觉得奇怪,因为我没有在我的HTML中有任何脚本。
x1c 0d1x的数据
然而在下面的摘要部分,“加载”是3 ms。我发现在this post中,“加载”似乎包括HTML的解析。换句话说,HTML的解析实际上花了不到3 ms,这更符合我的期望,因为HTML本身真的很小。
所以我的问题是,这里哪个是浏览器解析HTML的实际时间?
另外,我对Web开发的一般假设是,与下载HTML的时间(服务器响应时间+网络往返时间)相比,HTML的解析真的很快。

rn0zuynd

rn0zuynd1#

在chromium性能配置文件查看器中,切换到“事件日志”选项卡并搜索“解析html”。每个事件都有一行范围的解析html文件
当你“保存profile”到一个json文件时,你就可以解析“parse html”事件了。

cat Trace-*.json | grep '"name":"ParseHTML"'

字符串
以毫秒为单位总结“解析html”的持续时间

cat Trace-*.json | grep '"name":"ParseHTML"' |
  sed -E 's/.*"dur":([0-9]+),.*/\1/' |
  awk '{s+=$1} END {print (s / 1000)}'


在我的例子中,总结的“解析html”持续时间比概要文件总结中的“加载时间”要长:230毫秒对160毫秒。

相关问题