#阿里云 #飞天发布时刻 正在直播!中企出海的「技术引擎」来了! 了解详情
写点什么

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

评论

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

架构实战营 -- 模块三

永佳

架构实战营

第三次作业

Geek_9cf7b5

轶事

言未卜

深入浅出 LVS 负载均衡系列(二):DR、TUN 模型原理

UCloud技术

负载均衡

架构实战营模块三作业

竹林七贤

技术探索系列 - 轻松带你掌握JMM(2)

码界西柚

JVM JMM 5月日更

如何快速制作短视频?拥有这个神器,轻松搞定!

奈奈的杂社

短视频 视频剪辑 自媒体

rocketmq优雅停机往事

捉虫大师

在线体验四大名著情景(地图、游戏)

不脱发的程序猿

开源 程序人生 四大名著

nmon和nmon analyser的网盘下载安装与使用

InfoQ_Springup

工具

Nginx 常用配置清单

Java小咖秀

nginx Web 反向代理 HTTP

区块链+农业,如何升级农业价值链

CECBC

农业

STM32低功耗模式下GPIO如何配置最节能?

不脱发的程序猿

嵌入式 stm32 单片机 低功耗模式

模块2学习总结

TH

架构实战营

Offer收割机!阿里P7大神甩出JSP实战笔记,网友:信息量过大

飞飞JAva

Java

存算解耦的多模型数据管理平台介绍:以星环科技TDH8.0为例

星环科技

人工智能 大数据 云平台 数据管理平台 存算解耦

从5大挑战带你了解多模态机器学习

华为云开发者联盟

机器学习 多模态机器学习 多模态 异构数据

“区块链+疫情预警”!这个科研团队研发了传染病预警系统

CECBC

疫情

数仓ETL系统:给强大的“心脏”配上“超级流水线”

华为云开发者联盟

数据库 数据仓库 GaussDB(DWS) ETL系统 MPPDB

从狗狗币说起 看区块链的未来发展方向

CECBC

狗狗币

AI英雄出少年!奔赴星辰,他们正在创造黄金时代

百度大脑

AI

基于OpenPAI细化部署 Hadoop 集群

Damon

hadoop 5月日更

新书见面 | 《云原生时代的微服务架构实践》

Damon

微服务 云原生 5月日更

第一个鸿蒙应用

释缘

鸿蒙 HarmonyOS

架构实战营模块3作业

Vic

架构实战营

智能会话机器人:SaaS 平台的设计与思考

极客志

自然语言处理 chatbot 聊天机器人 智能会话机器人

运维五一不加班,从一套On-Call响应机制开始!

睿象云

运维 告警 智能运维 告警设置 告警管理

NumPy之:使用genfromtxt导入数据

程序那些事

Python 数据分析 Numpy 程序那些事

双向循环链表:鸿蒙轻内核中数据的“驿站”

华为云开发者联盟

鸿蒙 数据结构 结构体 OpenHarmony 双向循环链表

模块2作业 微信朋友圈高性能复杂度

TH

架构实战营

超详细教程:SpringBoot整合MybatisPlus

华为云开发者联盟

Java spring springboot 代码 MyBatisPlus

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