写点什么

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

评论

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

WeTest平台产品&技术合作伙伴招募

WeTest

科创人·富士康CDO史喆:To B产品切忌臃肿,数字化不分对错只求更好

科创人

好的测试数据管理,到底要怎么做?

禅道项目管理

测试 数据 数据管理

免费下载|KubeMeet 城市站实录合辑,N 场容器开源分享打包看

阿里巴巴云原生

Redis是怎样通讯的?

ooooooh灰灰

redis 后端 协议 4月月更

【Zeekr_Tech】汽车软件RTOS-之AUTOSAR OS多核控制简介

Zeekr_Tech

Linux 软件架构

【源码分析设计模式 10】SpringMVC中的建造者模式

爱好编程进阶

Java 面试 后端开发

计算机存储层次简析

懒时小窝

计算机基础

聚焦供应链布局,新能源汽车企业重塑产业核心竞争能力

数商云

数字化转型 供应链 新能源汽车

YonMaster开发者认证线上赋能培训班定档4月18日

YonBuilder低代码开发平台

RadonDB MySQL on K8s 2.1.4 发布!

RadonDB

MySQL 数据库 Kubernetes 高可用 RadonDB

macOS系统病毒常见的两种传播途径

火绒安全

macos 终端安全 勒索病毒 蠕虫

Tiger DAO VC:将你的风险投资变成DAO组织协同

小哈区块

来也科技收购Mindsay背后:新旧势力交锋智能自动化备受关注

王吉伟频道

RPA 收购 机器人流程自动化 来也科技 Mindsay

thinkphp5框架新建页面相关规范详解

CRMEB

“东数西算”超级工程利好云计算,多云管理背后却暗藏汹涌!

行云管家

云计算 多云 东数西算 云管

阿里云视频云人脸生成领域最新研究成果入选CVPR2022

阿里云视频云

计算机视觉 视频编码 CVPR 视频云

简单实用的redis分布式锁

Rubble

4月日更 4月月更

MSE 微服务治理发布企业版,助力企业构建完整微服务治理体系

阿里巴巴云原生

知识管理的目的及意义——提高社会资源的配置效率

小炮

知识管理

云图说丨叮咚,您有一份短信通关攻略待查收

华为云开发者联盟

短信 签名 消息 签名模板 MSGSMS

java高级用法之:JNA中的Function

程序那些事

Java Netty 程序那些事 4月月更

STM32+华为云IoTDA,带你设计一个属于自己的动态密码锁

华为云开发者联盟

stm32 iotda 华为云IoT 密码锁 Qt框架

教你用ab命令进行并发与压力测试

华为云开发者联盟

并发 压力测试 ab测试 ab命令 请求次数

【并发编程系列10】阻塞队列之SynchronousQueue

爱好编程进阶

Java 面试 后端开发

【并发编程系列1】Thread生命周期及interrupted()作用分析

爱好编程进阶

Java 面试 后端开发

jackson学习之十(终篇):springboot整合(配置类)

程序员欣宸

Java web 4月月更

2022年提高远程工作效率的三大实用技巧汇总

行云管家

远程办公 居家办公 办公软件

使用 Sanic 框架进行 Python Web 开发

宇宙之一粟

Python 4月月更 sanic

Tiger DAO VC:DAO组织风险投资时代来临

西柚子

“双碳”下的建筑业:未来10年必须重视这5大方向

WorkPlus

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