Webpack 创始人推出比 Webpack“快 700 倍”的 Turbopack,基于 Rust 编写

2022 年 10 月 29 日 InfoQ

作者 | Tina

10 月 26 日,Vercel 公司正式宣布推出新的打包工具 Turbopack。Webpack 创建者 Tobias Koppers 于 2021 年 4 月加入该公司,牵头了该项目。

Turbopack 是 Vercel 公司之前一些工作的延续。在此之前,他们用基于 Rust 的 SWC 替换基于 JavaScript 的转译器 Babel,速度提升了 17 倍。他们还替换了 Terser,压缩的速度提高了 6 倍,从而减少了加载时间和带宽的使用。

“Webpack 已被下载超过 30 亿次。它已成为 Web 构建不可或缺的一部分。但就像 Babel 和 Terser 一样,是时候全力以赴了。我加入了 Vercel,组建了一个团队来构建 Web 下一代的打包工具。”Tobias 说。

据 Vercel 首席执行官 Guillermo Rauch 介绍,与 Webpack 一样,Turbopack 也是开源的。

Vercel 声称 Turbopack 在大型应用中,展示出了 10 倍于 Vite 的速度,700 倍于 Webpack 的速度。在更大的应用中,差异更加巨大 —— 通常比 Vite 快 20 倍。而且启动速度飞快,在一个 3000 个模块的应用里,Turbopack 只花了 1.8 秒启动,Vite 花了 11.4 秒。

Rauch 说,性能改进不仅是因为基于 Rust ,还在于“基于增量计算思想的架构”。该团队借鉴了谷歌 Bazel 构建系统中的一些想法,该系统适用于大型项目。增量方法意味着避免做重复的工作,“如果你创建一个增量图,开发人员在其中进行更改,只有受影响的图部分会被重新计算。”

Turbopack——目前处于 alpha 预览阶段——是“一种更好的架构,我认为 Rust 和正确架构相结合意味着我们至少在 10 年内不需要改变,”Rauch 表示。

Turbopack 是怎么来的?“Next.js 早在 2016 年就开始使用 Webpack 作为组件,”他说。“我们可能是 Webpack 的最大用户。我们在开始时和 Webpack 创建者 Tobias 聊了很多,因为当时我们有像沃尔玛这样的客户,有超过 250 名工程师在 Next.js 代码库上工作,分享一些关于编译过程的反馈。我们意识到 JavaScript 和 TypeScript 代码的数量增长如此之快,以至于超出了基于 JavaScript 的工具和架构的能力。Tobias 也从未想过该工具会得到如此广泛的采用。”

Webpack 面向单页应用程序 (SPA) ,“但我们不是,因此我们改变了 Webpack 的默认设置。”当 Koppers 加入 Vercel 时,“他带来了 10 年的专业知识,见证了这件事情的发展,”Rauch 说。“他意识到架构和运行时的所有缺陷。因此,Tobias 成为了 Rust 专家。”Turbopack 一个有趣的特性是,多亏了 Rust,它可以编译成 WebAssembly 并在浏览器中运行。

“Turbopack 旨在成为 Webpack 的直接替代品,Next.js 是它的第一个客户,”Vercel 首席技术官 Malte Ubl 说,“随着时间的推移,我们计划针对所有开发者用例继续迭代和改进 Turbopack。”

延伸阅读:

https://vercel.com/blog/turbopack

https://devclass.com/2022/10/25/webpack-founder-debuts-rust-based-turbopack-that-is-700x-faster/

点击底部阅读原文访问 InfoQ 官网,获取更多精彩内容!

今日好文推荐

全面审查Twitter代码、当场炒掉CEO等众多高管:马斯克正式入主Twitter

字节跳动开源BitSail:重构数据集成引擎,走向云原生化、实时化

又一巨头从Java迁移到Kotlin:关键应用全部开始切换、安卓代码库超过千万行Kotlin代码

中国开发者整体规模 2016.37万,企业服务成为热门“移民”行业| InfoQ《开发者画像洞察研究报告 2022》发布

登录查看更多
0

相关内容

Bundle tool for the front-end
【干货书】《Pydon'ts:编写优雅的Python代码》,263页pdf
专知会员服务
91+阅读 · 2021年11月2日
【硬核书】Linux核心编程|Linux Kernel Programming,741页pdf
专知会员服务
76+阅读 · 2021年3月26日
【2020新书】Ruby 3 编程: 从小白到专家,598页pdf
专知会员服务
29+阅读 · 2020年12月17日
从0到1使用Webpack5 + React + TS构建标准化应用
阿里技术
0+阅读 · 2022年9月2日
Linux 内核不能进行软件工程?
CSDN
2+阅读 · 2022年8月30日
为什么 Rust 是初创公司的绝佳选择?
InfoQ
0+阅读 · 2022年7月3日
无服务器和 Kubernetes 原生 Java 部署实践
InfoQ
0+阅读 · 2022年6月28日
使用 Kotlin 重写 AOSP 日历应用
谷歌开发者
0+阅读 · 2021年9月15日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
Arxiv
0+阅读 · 2022年12月19日
Arxiv
0+阅读 · 2022年12月15日
Arxiv
14+阅读 · 2022年8月25日
Arxiv
11+阅读 · 2022年3月16日
已删除
Arxiv
31+阅读 · 2020年3月23日
Optimization for deep learning: theory and algorithms
Arxiv
102+阅读 · 2019年12月19日
Learning Implicit Fields for Generative Shape Modeling
Arxiv
10+阅读 · 2018年12月6日
VIP会员
相关基金
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
相关论文
Top
微信扫码咨询专知VIP会员