写点什么

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

评论

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

云原生中间件套件,如何为企业数字化转型提供支撑

金蝶天燕云

云原生 中间件 信创

AIGC时代,基于云原生 MLOps 构建属于你的大模型(上)

York

云原生 大模型 MLOps AIGC ChatGPT

软件测试|Python操作Excel制作报表,不要太方便

霍格沃兹测试开发学社

软件测试|必须遵循的UI自动化设计军规

霍格沃兹测试开发学社

Java线程池一、基本概念和原理

echoes

Java 线程池

低代码开发与数智制造:数字转型的无缝结合

加入高科技仿生人

低代码 数智化 数智制造

中企出海所面临的几点人力资源挑战

用友BIP

中企出海

「悦数图数据库」亮相中国国际信息通信展览会,推进图技术产业化发展

悦数图数据库

通信 图数据库

关于GDPR体系文件介绍,介绍GDPR体系文件的内容和意义

镭速

华为云新一代分布式数据库GaussDB,给世界一个更优选择

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 6 月 PK 榜

面向多告警源,如何构建统一告警管理体系?

阿里巴巴云原生

阿里云 云原生 可观测

Java线程池二、使用线程池进行任务管理

echoes

解密云商降本之谜:揭开AWS账单的真相,实现Finops的关键数据

jinjin

AWS 降本增效 spotmax FinOps 节约成本

生态伙伴 | 中电创新科技集聚示范区携手华秋硬创,加速智能硬件孵化

华秋电子

「悦数图数据库」亮相中国国际信息通信展览会,推进图技术产业化发展

悦数图数据库

通信 图数据库 运营商

大模型扎堆「赶考」,语文还是国产AI行,文言文能力超过95%考生

Openlab_cosmoplat

人工智能 机器学习 AI 高考

中移链节点动态管控介绍

BSN研习社

浅谈低代码

不叫猫先生

低代码 6 月 优质更文活动

LRU缓存策略

不叫猫先生

LRU 6 月 优质更文活动

腾讯企点客服赛道国内TOP1!Gartner报告公布最新市场份额

人称T客

eosio.system智能合约介绍(一)账户和权限

BSN研习社

javaScript实现动态规划(Dynamic Programming)01背包问题

不叫猫先生

动态规划 JavaScrip 6 月 优质更文活动

了解 Dubbo:分布式服务框架的基础知识

Apifox

程序员 gRPC dubbo RPC 开发

索信达携手华为联合发布智能营销标签平台解决方案

索信达控股

别着急摆烂,看看你到底值多少钱?

引迈信息

程序员 软件开发 低代码 IT JNPF

TS中type和interface在类型声明时的区别

不叫猫先生

6 月 优质更文活动

阿里云微服务引擎负责人李艳林:云原生网关当道,会带来哪些改变

阿里巴巴云原生

阿里云 微服务 云原生

基于 AIGC,RocketMQ 学习社区探索开源软件学习新范式

阿里巴巴云原生

阿里云 RocketMQ 云原生 AIGC

推动高校教改:如何面向人文社科教授数据分析

ModelWhale

数据分析 学科交叉 人文社科 教学经验 高等教育

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