东亚银行、岚图汽车带你解锁 AIGC 时代的数字化人才培养各赛道新模式! 了解详情
写点什么

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

  • 2023-04-14
    北京
  • 本文字数:1322 字

    阅读完需:约 4 分钟

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

字节跳动近期与 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


相关阅读:

Vite 4 发布,用更快的 SWC 替换了 Babel

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


2023-04-14 08:007649

评论

发布
暂无评论
发现更多内容

WebRTC构建点对点的即时通讯工具

鲸品堂

工具 企业号 3 月 PK 榜

有点害怕,浏览器插件风险这么多?

高端章鱼哥

深度!10个头脑风暴必备的模板,让脑暴更高效和富有成效!

彭宏豪95

思维导图 头脑风暴 在线白板 在线协作 效率软件

Solidity案例详解(五)服务评价合约

BSN研习社

区块链 Solidity

实例带你了解GaussDB数据库的LOCK TABLE

华为云开发者联盟

数据库 后端 华为云 华为云GaussDB 华为云开发者联盟

2024 年 2 月 NFT 行业动态:加密货币飙升,NFT 市场调整

Footprint Analytics

blockchain NFT NFT链游

探索PyTorch:介绍及常用工具包展示

霍格沃兹测试开发学社

网络安全AI智能体公司「云起无垠」获数千万元天使+轮融资,致力于大模型与网络安全深度融合的技术研究

云起无垠

ICP Rust CDK|课程介绍

TinTinLand

学习 黑客 编程语言 #Web3 ICP

深入理解位运算符及其在JavaScript中的应用

控心つcrazy

火山引擎“数据飞轮”助力哪吒汽车智能创新

Geek_2d6073

图数据库基准测试 LDBC SNB 系列讲解:Schema 和数据生成的机制

NebulaGraph

图数据库 LDBC

ICP Rust CDK|IC和Rust简介

TinTinLand

学习 黑客 编程语言 web3 ICP

2024年值得尝试的22款在线管理软件盘点!

PingCode

项目管理软件 项目管理x

机器人装行业MES/低代码平台免费使用/低代码MES

万界星空科技

低代码 低代码平台 mes 万界星空科技 机器人组装

抓住2024新风口,数字人直播创业怎么做?

青否数字人

Sol链发币教程系列02:放弃代币冻结权限

加密先生

印刷行业实施MES管理系统有哪些重要的意义

万界星空科技

工业互联网 制造业 mes 印刷行业 万界星空科技

RDS for MariaDB“智能DBA助手”,让运维效率嗖嗖地!

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟

程序员有哪些常用的技术网站呢?

这我可不懂

效率 程序员 前端 低代码 JNPF

数字人引领品牌增长新纪元!

青否数字人

数字人

Vue3 - 表单的输入与绑定

霍格沃兹测试开发学社

为多渠道销售集成商品API接口

Noah

Python 初学者容易踩的 5 个坑

不在线第一只蜗牛

Java Python 开发语言

学编程前需要知道哪些编程语言呢?

小齐写代码

新一代实时数据集成框架 Flink CDC 3.0 —— 核心技术架构解析

Apache Flink

一文让你知道,云计算环境下云管平台的重要性

行云管家

云计算 云服务 云管平台 云资源

发布DDD脚手架到Maven仓库,IntelliJ IDEA 配置一下即可使用

EquatorCoco

Java DDD IDEA

充电桩组装行业生产管理MES系统解决方案

万界星空科技

制造业 生产管理系统 mes 充电桩 汽车充电桩

微信小程序管理软件助力企业数字化转型

Geek_2305a8

通过统一规划和团队整合,提升企业财务洞察

智达方通

全面预算管理 财务洞察

字节开源基于 Rust 打包工具 Rspack,比 Webpack 快了10倍_大前端_Bruno Couriol_InfoQ精选文章