9

字节开源基于 Rust 打包工具 Rspack,比 Webpack 快了 10 倍

 1 year ago
source link: https://www.techug.com/post/byte-open-source-is-based-on-the-rust-packaging-tool-rpack-which-is-10-times-faster-than-wf28db07cc14168c6a81c/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

字节开源基于 Rust 打包工具 Rspack,比 Webpack 快了 10 倍



byte-open-source-is-based-on-the-rust-packaging-tool-rpack-which-is-10-times-faster-than-wf28db07cc14168c6a81c.01.jpeg

字节跳动近期与 Valor 软件开源了 Rspack,这是一款由 Rust 编写的 Web 捆绑,意在用更快、更直接的方式取代 Webpack。部分早期基准测试表明,Rspack 的冷启动时间有十倍的提升。字节跳动对其的开发主要为缓解 Rspack 在部分场景下生产构建时间长达十分钟至半小时,冷启动时间可超数分钟的问题。为降低迁移成本并维持 Webpack 配置机制所提供的灵活性和生产优化,Rspack 的功能设计如下:

快速启动:基于 Rust 的飞快构建速度,为你带来极致的开发体验。

模块热替换 (HMR):内置增量编译机制让 HMR 速度飞快的同时 ,也完全能胜任大型应用的开发

与 Webpack 的互操作性:与 Webpack 架构和生态系统相兼容,无需重新建立生态系统

内含电池:开箱即用的 TypeScript、JSX、CSS、CSS Modules、Sass 等支持

生产优化:内置多项默认优化策略,如摇树优化、最小化等等

框架无关:不受限于任何前端框架,确保足够的灵活性

速度的观测结果取决于设备、项目结构及规模。字节跳动是通过公开可用的 Webpack 基准测试工具,于自定义代码库中进行的基准测试。基准测试结果显示 Rspack 冷启动时间经过开发优化,相较使用 Babel 的 Webpack 提升了十倍有余,增量构建时间提升三倍。Nx 在其他代码库中也展示了类似的结果

我们自行进行了初步的统计,也看到了一些很赞的改善。对大型组件而言,Rspack 的部署时间比 Webpack 快四倍,开发服务器的启动速度比目前 Webpack 的实现快五倍,总体生产构建的速度有了四倍的提升。

Rspack 虽然只在近期才开源,但其开发时长已有一年了。但不管怎么说,该项目仍处于早期阶段,缺乏许多 Webpack 的功能。Rspack 团队强调他们计划进一步加强对 Webpack 生态系统的支持:

Rspack 与 Webpack 的配置模式和 Loader 架构,人们可无缝使用熟悉的 Loader,如babel-loaderless-loadersass-loader 等等。我们的长期目标是为完全支持最为常用的 Loader,包括更为复杂的 vue-loader 等情况。但要想实现 Webpack 的全部功能,我们还任重而道远。我们会基于社区反馈排列优先级,所以请告诉我们您的需求!

Rspack 最初是由字节跳动内部开发团队发起,内部开发者平台或一般平台工程团队正逐渐成为企业 DevOps 实践的一部分。

越来越多的 Web 工具链开始使用 Rust 来大幅提升其性能。热门的 Parcel 捆绑于去年宣发了一款使用 Rust 编写的新 CSS 解析器、编译器、粉碎器(比基于 JavaScript 的 CSSNano 快百倍,比基于 Go 的 ESBuild 快三倍)。两年前,Parcel 2 便已经用 Rust 对其 JavaScript 编译器进行了重写(构建性能提升十倍)前端工具链 Rome 于几个月前发布了一款基于 Rust 的新代码质量规则和格式化器,相比 ESLint 和 Prettier 有一至二个数量级的提升。Rolldown 是另一项进行中的项目,可提供与 Rollup 相兼容的 API。

WebpackParcelRollup,这些均是用于构建 Web 应用程序的最热门捆绑器。Rspack 是在 MIT 许可下发布的开源软件,欢迎反馈,但也应遵守贡献指南行为准则

原文链接:

New Rust-Based Web Bundler Rspack Touts up to 10X Speed Improvement over Webpack

本文文字及图片出自 InfoQ


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK