javascript - Chrome Profiler 中的 "Not optimized"警告是什么意思?

标签 javascript google-chrome optimization google-chrome-devtools developer-tools

当我使用 Chrome 中的开发者工具收集 JavaScript CPU 配置文件时,我收到了两个关于函数的神秘警告:

  • 未优化:优化次数过多
  • 未优化:内联摆脱困境

这些到底是什么意思?有哪些可能的解决方案?

我见过的另一个是未优化:TryCatchStatement,但这是有道理的。解决方案是删除 try-catch。

到目前为止,我发现的最接近的解释尝试是 - https://github.com/GoogleChrome/devtools-docs/issues/53

最佳答案

  1. 我认为“未优化:优化次数过多”指的是 Chrome 优化器不断重新优化某个功能。

    https://groups.google.com/forum/#!topic/v8-users/_oZ4fUSitRY

    如果我没记错的话,有几件事可能导致这种情况,包括改变类型的参数,我会尝试挖掘链接。

    这个有点神秘,修复将取决于您的代码。我的代码中多次出现此问题,有时我无法修复它。

  2. '未优化:内联被救出'似乎在您发布的链接中得到了回答。

  3. 对于 try/catch,可以在这个 github 页面上找到一个非详尽但有用的 Chrome 优化怪癖列表:

    https://github.com/petkaantonov/bluebird/wiki/Optimization-killers

    此页面提到 try/catches 当前未优化:

    • 生成器函数
    • 包含 for-of 语句的函数
    • 包含 try-catch 语句的函数
    • 包含 try-finally 语句的函数
    • 包含复合 let 赋值的函数
    • 包含复合 const 赋值的函数
    • 包含包含 proto 或 get 或 set 声明的对象字面量的函数。

关于javascript - Chrome Profiler 中的 "Not optimized"警告是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22509262/

相关文章:

javascript - 通过jquery获取更新值的Id

javascript - 如何防止在 puppeteer 的 chromium 实例中创建新选项卡?

javascript - 使 onmouseenter 和 onmouseleave 在 chrome 中工作 - html、javascript、jquery

google-chrome - CakePhp 2.x TCPDF 输出 Chrome

c++ - 为什么线性搜索比二进制搜索快得多?

javascript - 功能优化,重音元音替换为非重音元音

javascript - JSX 如何为带有复选框输入的元素插入 props?

javascript - Shopify Buy Button 最小数量

html - Chrome 在页面加载时同时下载 webm 和 mp4 HTML5 视频源

javascript - 循环未定义的数组键