Turbopack 公布性能基准测试,Vite 创建者尤雨溪再度发声
Vercel 公司上周在 Next.js Conf 大会上发布了 Next.js 13,同时宣布了最新的开源项目:Turbopack。Turbopack 是面向 JavaScript 和 TypeScript 优化的增量打包工具和构建系统,采用 Rust 编写,声称是 Webpack 的继任者。
其实 Turbopack 正是出自 Webpack 作者 Tobias Koppers 之手,这是他去年加入 Vercel 之后所主导的核心项目。Tobias 深度参与了 Turbopack 的开发。
官方在宣传 Turbopack 时强调了其速度之快——号称热更新速度比 Webpack 快 700 倍、比 Vite 快 10 倍;冷启动速度比 Webpack 快 5 倍。这是因为 Turbopack 在打包时仅引入所需的最少资源,因此冷启动时间非常快。Turbopack 称在包含 3,000 个模块的应用程序中,其冷启动时间为 1.8 秒,而 Vite 需要 11.4 秒,Webpack 需要 16.5 秒。
此外,根据 Turbopack 的官方解释,它基于一个用 Rust 编写的增量计算引擎 Turbo,Turbo 可实现细分到函数粒度的结果缓存、支持内存缓存,未来还将有持久化缓存和远程缓存,以及支持按需编译,尽量减少计算量。点此查看关于 Turbo 引擎的详细文档。
Turbopack 声称热更新速度比 Vite 快 10 倍,但由于在发布时 Turbopack 没有为这些对比数据提供测试基准,Vue.js 和 Vite 的创建者尤雨溪便亲自创建了测试基准来比较 Vite 和 Turbopack 在 HMR(模块热加载)方面的性能差异,并将测试方法和数据公开在 GitHub 仓库中 (https://github.com/yyx990803/vite-vs-next-turbo-hmr)。
最终的测试结果显示,Turbopack 的热加载速度确实比 Vite 快,但远远没有 10 倍的差距。尤雨溪承认了两者的差距,同时希望 Vercel 公司能提供更透明的基准测试,并在营销过程中使用更准确的表达。
就在今天,Turbopack 公布了性能基准测试方法,并将他们的基准测试结果提供给公众进行验证。如需运行基准测试,查看 Turbopack 基准测试文档。
下图是 Vite 与 Turbopack 的 HMR 性能测试对比。Turbopack 表示,当应用程序的模块数量增加到 30k 以上时,Turbopack 的 HMR 速度比 Vite 快 10 倍。而且随着模块数量的增加,差距也更明显——当模块数量超过 50k 时,Turbopack 比 Vite 快 20 倍。
对于 Turbopack 迟来的性能基准测试,尤雨溪再度发声,并说道:“Turbopack 真的比 Vite 快 10 倍吗?”
尤雨溪在阅读 Turbopack 的基准测试后发现,他和 Turbopack 的测试方法和环境存在较大差异,比如 Vite 使用默认的、基于 Babel 的 React 插件,没有使用 RSC,而在 Next.js 中默认启用了 RSC。在这种前提下,这种性能比较缺乏了公平的场景。甚至在小数点的取舍时,Turbopack 都选择了对自己有利的方法——Turbopack 的 15ms 四舍五入为 0.01s,而 Vite 的 87ms 则四舍五入为 0.09s。
尤雨溪认为,开源软件的竞争应该建立在开放的沟通、公平的比较和相互尊重的基础上。所以当他看到 Vercel 使用了精心挑选、未经同行评审、存在误导的数据来进行营销时,感到失望和担忧,因为这种场景通常只在商业竞争中发生。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Bcachefs 推出新分配器,性能继续提升
Bcachefs 开发人员 Kent Overstreet 发布了关于这个源自 Linux 块缓存 (BCache) 代码的原始文件系统的新状态更新。根据介绍,Overstreet 于 2015 年宣布推出新的 Linux 新文件系统 Bcachefs,目前已经开发了多年,不过其仍没有完全进入主线内核。 但尽管如此,Bcachefs 的许多功能工作仍在继续进行中。从 2015 年至今,这个写时复制的文件系统一直在积极开发中;Overstreet 始终致力于将其作为 Btrfs 和 OpenZFS 等的替代品。他一直在修复 Bcachefs 中的错误并处理这个下一代文件系统上的一系列功能工作。此最新状态更新中涵盖的一些项目包括: 一个完全重写的分配器已经开发完成,以解决之前分配器的问题。这个新的分配器更具有可扩展性和更简单。 Bcachefs snapshots 支持现在被认为“largely stabilized”。不过仍存在一些已知的错误,以及“快照删除路径仍然很糟糕”,但总的来说它正在稳步成形。 对 erasure coding (RAID 5/6) 的支持“接近可用”。 在 Bc...
- 下一篇
开发者问第四期
开发者问第四期 HUAWEI HiAI Engine 统一扫码服务 HMS Core 机器学习服务 3D Engine 发表于 2022-09-16 11:28 2811查看 开发者问第四期来啦!统一扫码服务支持哪些条码解析?机器学习服务支持离线翻译吗?如何让玩偶跳舞? 3D建模 1、如何给玩偶建模并让它跳舞? 使用HMS Core 3D建模服务骨骼绑定能力就能让玩偶在手机屏幕上动起来,开发者只需要用普通手机拍摄二足人形物体的多张图像,建立静态的3D模型,通过云侧AI自动绑定算法后,自动生成模型的骨骼和蒙皮权重,通过业界主流引擎即可一键驱动。除了预置的动作还能加入自己动捕的个性化动作,让玩偶形象在屏幕上跟着节奏跳舞。 HUAWEI HiAI Foundation 2、基于HUAWEI HiAI Foundation提供的视频超分能力是否上线了? 已上线,HUAWEI HiAI Foudation提供的视频超分能力支持270P、540P、720P等多种分辨率的超分,最高可实现3倍超分。通过HUAWEI HiAI Foundation端侧AI计算调优技术,开发者仅需以很低的功耗即可实现...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能