为什么我对用“更快”的语言重写 JavaScript 工具持怀疑态度

主要观点:作者热爱 JavaScript 并积累了相关技能,对当前用“更快”语言重写 Node.js 工具的热潮感到担忧,认为 JavaScript 并非固有地慢,不应被忽视,同时指出重写可能带来的问题如性能提升不一定显著、贡献和调试性受影响等。
关键信息:

  • 作者有大量 JavaScript 经验,不愿放弃,对用其他语言重写工具持怀疑态度。
  • 性能方面,认为未充分挖掘使 JavaScript 工具更快的可能性,浏览器的字节码缓存和 JIT 是优势,Node 正获得编译缓存但 JIT 受益有限,Wasm 工具存在性能损失。
  • 贡献和调试性方面,JavaScript 更易上手和贡献,修改本地依赖方便,调试更易,而用原生语言则有障碍。
  • 结论是新的工具很棒,但不应忽视 JavaScript 的潜力,重写可能带来不良后果,当前趋势难以阻挡。
    重要细节:
  • Marvin Hagemeister 展示了 ESLint 等工具的优化空间。
  • 新工具多是现有工具的替代品,不一定因语言快。
  • 重写往往因更了解而变快。
  • 大多数 Node 脚本无法受益于 JIT,除非是长运行服务器。
  • 作者在自己机器上设置了 Node 编译缓存环境变量。
  • 引用 Matteo Collina 的话强调 JavaScript 生态中贡献的便利性。
  • 提到一些用 JavaScript 实现的高性能案例,如 Chromium DevTools 改进。
  • 担忧重写后普通 JavaScript 开发者面对问题的无助感。
阅读 13
0 条评论