【问题标题】:What is the difference between JS "execution time" and "tool run time"?JS“执行时间”和“工具运行时间”有什么区别?
【发布时间】:2016-02-05 21:26:36
【问题描述】:

我正在尝试理解此图表以帮助选择 ES6 到 ES5 的最佳转译技术,但我不确定“执行时间”和“工具运行时间”的区别。

https://github.com/samccone/The-cost-of-transpiling-es2015-in-2016#raw-data

【问题讨论】:

    标签: javascript ecmascript-6 browserify babeljs


    【解决方案1】:

    在那篇文章中,作者分析了 Babel、TypeScript 和 Webpack 等预处理工具的使用,他所指的工具运行时间是这些工具处理文件所需的时间。

    另一方面,他所指的执行编译时间是引擎编译和执行处理后的JavaScript文件所需要的时间。


    工具运行时间(由time make <tool>收集)
    *页面加载时的js执行时间(由big-rig收集)
    *js 编译时间(big-rig收集)

    timebig-rig 都是 CLI,time 用于 CLI 运行时,big-rig 专门用于 JavaScript 文件,拥有显示负载不同部分信息的能力:

    图片来自their repo

    【讨论】:

    • so tool time 是 Babel(等)将 ES6 转换为 ES5 所需的时间;执行时间是在脚本中执行某些(全部?)函数需要多长时间。但是如果工具时间是处理时间,那么编译时间是什么?有这么多事情要考虑,什么对最终用户重要,什么不重要?
    • 引擎必须先编译代码才能执行
    • 它只需要编译一次,对吧?不是每次用户加载一个带有相同 JS 的新页面时?
    • 对,但是每次页面加载时都必须这样做还是通常在初始编译后缓存?
    • 不,浏览器中不缓存 JavaScript,只缓存 HTML 和 CSS 等静态文件
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-10
    • 1970-01-01
    • 2016-11-01
    • 2013-05-09
    • 1970-01-01
    相关资源
    最近更新 更多