如何评价Vercel发布的Turbopack,是否可以挑战Webpack和Vite?
作者:Nugine
链接:https://www.zhihu.com/question/562349205/answer/2730852773
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
链接:https://www.zhihu.com/question/562349205/answer/2730852773
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Turbopack 能比 Webpack 快 700 倍,不是 Rust 太快,而是 Webpack 的架构太慢。
根据 Turbopack 的官方解释,它基于一个用 Rust 编写的增量计算引擎 Turbo,能做到:
- 细分到函数粒度的结果缓存。
- 支持内存缓存,未来还将有持久化缓存和远程缓存。
- 按需编译,尽量减少计算量。
Turbopack 的开发服务器可以即时按需编译浏览器所请求的代码。例如,浏览器发出 HTML 请求时,它只会编译 HTML,而不会编译 HTML 引用的任何内容。浏览器没打开开发者工具时,它甚至不会编译源映射 (source map)。
如果 Turbopack 仅仅是把 Webpack 用 Rust 重写,那么它不可能达到所宣称的速度,一个好的架构比用什么编程语言更重要。当然,Rust 提供的原生级别性能也是一个重要因素。
以下机翻 Turbopack 主页上的宣传语
现在是整个 Web 生态系统的编译器基础设施的新起点了。Webpack已被下载超过 30 亿次。它已经成为 Web 构建的一个组成部分。但是,就像 Babel 和 Terser 一样,现在是全身心投入原生的时候了。我加入了 Vercel,并组建了一个由世界级工程师组成的团队,以建立网络的下一代捆绑器。
这个团队吸取了 Webpack 十年来的经验教训,结合 Turborepo 和谷歌 Bazel 的增量计算的创新,发明了一个可以承受未来十年的架构。
因此,我们很高兴地介绍 Turbopack,即我们由 Rust 驱动的 Webpack 的继任者。它将利用我们的构建系统 Turborepo 的力量,实现大规模的性能改进。Turbopack 是高性能裸机工具的新基础,现在已经开放源代码,我们很高兴能与你分享。
这段话是 Tobias Koppers 说的,正是 Webpack 的作者。
宣传归宣传,能不能用起来还得看后续发展。
顺便一提,这样发展下去迟早会有人写出一个更快的 tsc,建议有勇气的人去试试。
漫思