You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何babel-cli编译后的ES模块运行速度比babel-node慢约50%?

编译后运行速度反低于babel-node的问题排查

问题背景

  • 项目基于JavaScript开发Express服务,开发阶段一直使用babel-node对代码实时编译转译运行。
  • 异常现象:使用babel-cli完成项目代码编译后开展基准压测,编译产物的运行速度比babel-node实时转译模式慢约50%,压测工具为wrk。
  • 预期偏差:原本预期编译后的代码运行速度会更快,怀疑是Babel配置或使用流程存在问题。

项目当前Babel配置

.babelrc配置内容如下:

{
  "presets": ["@babel/preset-env"],
  "plugins": [
    "@babel/plugin-proposal-class-properties",
    "@babel/plugin-transform-runtime"
  ]
}

压测实测数据

两组测试共重复开展数十轮,结果波动范围均在*±5%*以内,结论稳定。

babel-node模式压测结果

kenny@kenny-Swift:~/Desktop/projects/wrk$ ./wrk  -c400 -d30s -t4 http://127.0.0.1:4000/graphql
Running 30s test @ http://127.0.0.1:4000/graphql
  4 threads and 400 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    84.13ms   18.85ms 217.29ms   86.26%
    Req/Sec     1.19k   239.36     1.61k    73.75%
  142627 requests in 30.04s, 35.91MB read
  Non-2xx or 3xx responses: 142627
Requests/sec:   4747.58
Transfer/sec:      1.20MB

babel-cli编译产物运行模式压测结果

kenny@kenny-Swift:~/Desktop/projects/wrk$ ./wrk  -c400 -d30s -t4 http://127.0.0.1:4000/graphql
Running 30s test @ http://127.0.0.1:4000/graphql
  4 threads and 400 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   157.59ms   26.42ms 311.14ms   88.96%
    Req/Sec   636.02    147.04     1.01k    72.50%
  76012 requests in 30.06s, 20.80MB read
  Non-2xx or 3xx responses: 76012
Requests/sec:   2529.01
Transfer/sec:    708.82KB

内容的提问来源于stack exchange,提问作者Emre Badem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.01 07:45:03