React Profiler:时间是啥意思?

Posted

技术标签:

【中文标题】React Profiler:时间是啥意思?【英文标题】:React Profiler: What do the timings mean?React Profiler:时间是什么意思? 【发布时间】:2018-11-16 17:35:07 【问题描述】:

我正在使用 React Profiler 来提高我的应用程序的效率。它通常会吐出这样的图表:

我很困惑,因为时间没有加起来。例如,如果“Shell”的总提交时间为 0.3ms,那么“Main”为“0.2ms of 0.3ms”,这将是有意义的。但事实并非如此。

这些时间的确切含义是什么?它们是如何相加的?

注意:我已阅读 "Introducing the React Profiler",但从 section 看来,自那篇文章以来,这种时间报告约定是新的。)

【问题讨论】:

【参考方案1】:

第一个数字 (0.2ms) 是自身持续时间,第二个数字 (0.3ms) 是实际持续时间。大多数情况下,自我持续时间是实际持续时间减去花在孩子身上的时间。我注意到这些数字并不总是完美地相加,我猜这要么是一个四舍五入的伪影,要么是因为一些时间花在了隐藏的工作上。例如,在您的情况下,Shell 的实际时间为 3.1ms,自身持续时间为 0.3ms,这意味着 2 个子项(Navbar 和 Main)加起来应为 3.1ms - 0.3ms 或 2.8ms。但是,我们看到 Navbar 没有重新渲染,所以是 0ms,但 Main 的实际持续时间只有 2.7ms,而不是 2.8ms。当您进行性能调整时,它实际上不会产生任何影响,但它确实有点违反预期。

【讨论】:

我认为你对四舍五入的猜测很好。不过,我想在接受它作为答案之前确认这个猜测。

以上是关于React Profiler:时间是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

profile是啥意思

profiler,profile在计算机中是啥意思

在某些 sql server profiler sql 窗口中,默认值是啥意思?

react中的className是啥意思?

react native和redux的以下代码是啥意思

v8 profiler 日志文件中每一行的结构是啥?