使用 ES modules 比加载打包构建文件慢

ESM:加载 -> 静态分析依赖 -> 加载 -> 静态分析依赖 … 逐个解析执行
bundle:加载 -> 解析执行


但还是慢,2019-04-16 测试(不开 devtools ,使用隐私模式,modulepreload/module/build):
  • Firefox 66 - 1197/986/64
  • Safari 12.1 - 909/948/64
  • Chrome 73 - 917/637/53
测试:
确定的原因:
  1. 压缩率(单文件压缩率高 3-4 倍)
可能的原因(Firefox Profiler):
  1. 服务端响应不过来(HTTP request and waiting for response)
  2. Native 忙不过来
    • waiting for socket thread,大量
    • waiting for transmit response,大量
  3. 事件循环:处理请求在一个独立的事件循环中进行(__psynch_cvwait)(Chrome DevTools Task)
    • 难道不是多个响应在一个事件循环中处理?