2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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:0614930

评论

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

TiCDC 在大单表场景下的性能优化:我们如何将吞吐量提升 7 倍?

PingCAP

#TiDB

2022年11月中国网约车领域月度观察

易观分析

网约车 行业 打车

从源码角度看React-Hydrate原理

flyzz177

React

TiDB 首批通过信通院 HTAP 数据库基础能力评测

PingCAP

#TiDB

2023-01-04:有三个题库A、B、C,每个题库均有n道题目,且题目都是从1到n进行编号 每个题目都有一个难度值 题库A中第i个题目的难度为ai 题库B中第i个题目的难度为bi 题库C中第i个题目

福大大架构师每日一题

算法 rust Solidity 福大大

链上隐私交易成新刚需,Unijoin.io或成该赛道新契机

股市老人

k8s 学习实战(一)

AiDaddy

k8s安装 kubenetes

如何确定解决的问题的价值?

珑彧

方法论

ChatGPT 最近火得不要不要的

HoneyMoose

解读重要功能特性:新手入门 Apache SeaTunnel CDC

Apache SeaTunnel

CDC 数据变更捕获

2022年中国证券类APP创新专题分析

易观分析

金融 证券 证券app

ChatGPT 使用 API 进行 Postman 调用测试

HoneyMoose

详解UDS CAN诊断:SecurityAccess Service(SID:0X27)

不脱发的程序猿

汽车电子 CAN ISO 14229 诊断和通信管理功能单元 SecurityAccess Service

LiveMe x TiDB丨单表数据量 39 亿条,简化架构新体验

PingCAP

#TiDB

Java高手速成 | 数据库实训:图书馆管理系统建模

TiAmo

数据库 管理系统 1月月更

React源码分析(一)Fiber

flyzz177

React

Kubernetes 跨集群流量调度实战 :访问控制

Flomesh

Service Mesh 服务网格 服务网格

欢迎来到,个人数据安全“世界杯”

脑极体

5A原则

穿过生命散发芬芳

1月月更

深入react源码看setState究竟做了什么?

flyzz177

React

从recat源码角度看setState流程

flyzz177

React

《解构领域驱动设计》-软件复杂度解析

珑彧

读书笔记 方法论 领域驱动设计 DDD 复杂

TableLayout(表格布局)

芯动大师

Android Studio tablelayout 表格布局

2022年人民满意手机银行服务白皮书

易观分析

金融 白皮书 手机银行 用户

基于低代码平台构筑金融行业IT运维服务体系

明道云

数益工联 x TiDB丨如何运用 HTAP 挖掘工业数据价值?

PingCAP

#TiDB

TiCDC 源码阅读(二)TiKV CDC 模块介绍

PingCAP

#TiDB

架构训练营模块三作业

现在不学习马上变垃圾

架构训练营10期

属于 PingCAP 用户和开发者的 2022 年度记忆

PingCAP

#TiDB

React-Hooks源码深度解读

flyzz177

React

看透react源码之感受react的进化

flyzz177

React

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