写点什么

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

  • 2022-10-26
    北京
  • 本文字数:1152 字

    阅读完需:约 4 分钟

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

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/

2022-10-26 19:0614138

评论

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

如何激发下属的工作积极性

老张

团队管理 绩效管理

DApp质押挖矿系统开发详细案例及源码部署指南

区块链软件开发推广运营

交易所开发 dapp开发 区块链开发 链游开发 代币阿凯

小程序多端引流技术上的“降本增效”

FinFish

小程序技术 小程序容器技术 小程序多端引流

Set A Light 3D Studio for Mac开创性的摄影工作室模拟软件

Mac相关知识分享

CAD迷你看图 for Mac

Mac相关知识分享

测试开发岗位就业与内推指导公开课

测吧(北京)科技有限公司

测试

KeyShot 2024.3 for mac专业实时渲染和动画软件

Mac相关知识分享

Autodesk Maya 2025 for Mac综合性的三维动画创作软件

Mac相关知识分享

测试开发岗位就业与内推指导公开课

测试人

软件测试

一张网支撑AI端到端应用,哔哩哔哩与华为联袂演绎高维度算网融合

新消费日报

DNS解析常见问题有哪些?DNS解析出现问题怎么解决?

国科云

5 年 “0” 故障,万亿级城商行的非结构化数据底座

XSKY星辰天合

TapData 发布官方性能测试报告,针对各流行数据源,在多项指标中表现拔群

tapdata

数据复制 Tapdata 实时数据集成 tapdata性能测试 性能测试报告

软件测试学习笔记丨Flask操作数据库-数据CRUD(增删改查)

测试人

软件测试 测试开发

项目经理把控项目质量真的很难吗?

Hi-CodeCaptain

代码质量 测试覆盖率 精准测试 软件开发、 质量内建

珂芝双十一AI体验月福利来袭,更有众多新品上新!

科技热闻

AI 产品系统的数据指标

采芑

指标中台; 数据分析 AI 基础设施

有php转go项目经验者优先?

王中阳Go

php Go 面试

在昇腾Ascend 910B上运行Qwen2.5推理

SEAL安全

数据安全再添保障!TapData 顺利通过 SOC2 Type 2 权威认证

tapdata

数据安全 实时数据平台 数据合规 数据集成工具 soc2type2认证

前端技术探秘-Nodejs的CommonJS规范实现原理

京东科技开发者

鸿蒙Flutter实战:01-搭建开发环境

少湖说

flutter 鸿蒙 HarmonyOS NEXT

东芝音画双芯MiniLED电视Z750NF上市,打造真实影院级视听盛宴

Geek_2d6073

如何应对频繁变更的需求以防项目范围蔓延

爱吃小舅的鱼

需求管理 需求变更 项目范围

Java并发编程知识图谱,掌握并发业务所需的技能点(收藏篇)

肖哥弹架构

Java 并发编程 高并发

加锁失效,非锁之过,加之错也

京东科技开发者

dubbo3.0 服务导入导出原理

京东科技开发者

华为云开源时序数据库openGemini:使用列存引擎解决时序高基数问题

华为云开发者联盟

Clickhouse 时序数据库 高基数 openGemini

提升需求文档清晰度的实用技巧

爱吃小舅的鱼

需求管理 需求文档 需求沟通

Webpack 创始人推出比Webpack“快700倍”的Turbopack,基于Rust编写_语言 & 开发_Tina_InfoQ精选文章