尤雨溪:为什么不逐步改进 Rollup,而是从零开发 Rolldown?

在今天,尤雨溪的 Rolldown 项目中提交了一个 Commit,简述了为什么不基于 Rollup,而是从零开发 Rolldown。参考:docs: add section on why not incrementally improve rollup

Vite 站在巨人的肩膀上,它的成功很大程度上要归功于 Rollup。我们与Rollup当前的维护者 Lukas,有着良好的合作关系,并对他的出色工作表示高度赞赏。在开始开发 Rolldown 之前,我们与 Lukas 取得了联系,确保他知道并同意我们的计划。我们达成的共识是,同时进行增量改进(由 Lukas 负责)和从头重新实现(由我们负责)是有益的。

我们的观点是,考虑到 JavaScript 的单线程特性和打包工具的复杂性,通过渐进式的改变极其不可能实现我们追求的性能水平。部分将组件移至Rust带来的性能提升往往被 Rust 和 JavaScript 之间数据传递的成本所抵消,正如 Rollup 4 采用基于 Rust 的 SWC 解析器所展示的。为了实现最佳性能,整个解析/转换/代码生成流程需要在本地端完成,并尽可能并行化。这只有通过从头开始的实现才是可行的。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值