最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

字节开源基于 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:007665

评论

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

从企业的视角来看,数据中台到底意味着什么?

WorkPlus

什么是企业知识库?有什么作用?如何搭建?

金陵老街

vue cli 知识库 spring-boot

【接入指南 之 直接接入】手把手教你快速上手接入HONOR Connect平台(中)

荣耀开发者服务平台

手机 新手指南 安卓 荣耀 honor

开源一夏 | mysql5.7 安装部署 -二进制安装

zhangpfly

MySQL 开源 MySQL 运维 #开源 8月月更

云渲染的应用正在扩大,越来越多的行业需要可视化服务

Finovy Cloud

云渲染 GPU渲染

一文搞懂传统单节点网站的 Serverless 上云

阿里巴巴云原生

阿里云 Serverless 云原生 函数计算

选择是公有云还或是私有云,这很重要吗?

WorkPlus

6月各手机银行活跃用户较快增长,创半年新高

易观分析

数据分析 金融 电子银行

120Hz OLED拒绝“烧屏”!华硕无双全能轻薄本

科技热闻

AIRIOT答疑第8期|AIRIOT的金字塔服务体系是如何搞定客户的?

AIRIOT

低代码 物联网 低代码,项目开发

CEO对今天的CIO们真正的要求是什么?

WorkPlus

聚焦企业流程智能化发展新趋势,中国信通院2022 RPA创新产业峰会即将开启

王吉伟频道

RPA 机器人流程自动化 中国信通院 机器人开发 智能自动化

SpringMVC(四、异常处理和综合练习)

开源 springmvc 8月月更

shell运算详解,看这一篇就够了!

Albert Edison

Linux centos 运维 shell脚本编程 8月月更

defi质押借贷理财挖矿dapp系统开发逻辑

开发微hkkf5566

本周四晚19:00知识赋能第六期第5课丨OpenHarmony WiFi子系统

OpenHarmony开发者

OpenHarmony

网络可观测性:让您的网络监控更上一层楼|TechGenix

观测云

从Delta 2.0开始聊聊我们需要怎样的数据湖

网易数帆

大数据 数据湖 Arctic 湖仓一体

搭载2.8K 120Hz OLED华硕好屏 无畏Pro15 2022锐龙版屏开得胜

科技热闻

MSE 治理中心重磅升级-流量治理、数据库治理、同 AZ 优先

阿里巴巴云原生

数据库 阿里云 微服务 云原生 限流

【接入指南 之 直接接入】手把手教你快速上手接入HONOR Connect平台(上)

荣耀开发者服务平台

开发者 教程 安卓 荣耀 honor

HarmonyOS自动化测试框架—Hypium

HarmonyOS开发者

HarmonyOS

在 Istio 服务网格内连接外部 MySQL 数据库

万猫学社

MySQL 云原生 istio

直播回顾|多云时代,如何建设企业级云管理平台?(附建设指南下载)

BoCloud博云

云计算 容器 云平台 云管理

接口测试进阶接口脚本使用—apipost(预/后执行脚本)

Xd

Java 接口测试

企业即时通讯是什么?可以应用在哪些场景?

WorkPlus

产品说明丨Android端使用MobPush快速集成方法

MobTech袤博科技

android Android Studio 集成 mobpush

兼具外观、性能、屏幕!华硕灵耀X 14火热抢购中

科技热闻

RocketMQ 消息集成:多类型业务消息——定时消息

阿里巴巴云原生

阿里云 RocketMQ 云原生 消息队列

Go-Excelize API源码阅读(六)—— DeleteSheet(sheet string)

Regan Yue

Go 8月日更 8月月更

【接入指南 之 直接接入】手把手教你快速上手接入HONOR Connect平台(下)

荣耀开发者服务平台

手机 新手指南 安卓 荣耀 honor

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