当前位置: 首页 > news >正文

Rust vs. Go: 性能测试(2025)

本内容是对知名性能评测博主 Anton Putra Rust vs. Go (Golang): Performance 2025 内容的翻译与整理, 有适当删减, 相关数据和结论以原作结论为准。

再次对比 Rust 和 Go,但这次我们使用的是最具性能优势的 HTTP 服务器库---Hyper,它基于 Tokio 异步运行时。如果你想构建任何 Web 应用,Tokio 运行时已经成为事实上的标准,许多框架(如 Axum)实际上都是构建在 Hyper 和 Tokio 之上的。事实上,在过去的一年里,测试过的所有语言/框架中,Hyper 是最快的框架

所有的测试都在 AWS 上运行,在本次视频中,我使用的基础设施与之前的视频完全相同:我使用 m7a.large EC2 实例,并通过 Systemd运行应用程序,而客户端和监控代理则运行在 EKS(Elastic Kubernetes Service)集群上。

好了,现在让我们开始测试!整个测试大约进行了 2 小时,但在编辑(视频)时我将其压缩到了几分钟。我们主要测量以下几个指标:

  • 延迟(Latency),使用 P90 百分位作为衡量标准。
  • 吞吐量(Throughput),即每秒请求数(Requests Per Second)。
  • CPU 使用率
  • 内存使用情况(Memory Usage)。

需要注意的是,这里的内存使用情况是针对整个虚拟机(VM)的,因此可能不像直接从 Kubernetes 运行的容器中测量的那样准确。按照惯例,我会再运行 一分钟的测试,然后我们逐个分析每个图表


测试结果分析

首先,我们来看吞吐量(Throughput),即每秒请求数。从结果来看,Go 的表现与之前视频中的水平相当,但 Rust 再次成为最快的应用。它在 仅使用两个 CPU 的情况下,达到了接近 160,000 请求/秒,而其他任何应用都无法接近这个水平,Zig 可能是最接近的一个

接下来是延迟(Latency),这是最重要的指标之一。在这项测试中,Rust 同样比 Go 表现更好

然后是 CPU 使用率(CPU Usage),从图表可以看到,Rust 的 CPU 占用率明显比 Go 低,意味着它在同等负载下更加高效。

最后是 内存使用情况(Memory Usage),不过这并不是本次视频的重点,因此我们不做过多分析。


如果你知道哪种编程语言或运行时能与 Rust 竞争,请告诉我!如果你还能帮助用该语言开发一个简单的 Web 服务器,那就更棒了。

相关文章:

  • 多态的原理
  • 个人学习编程(3-26) leetcode刷题
  • 三个串口同时打开并指定数据包控制指令思想
  • 高效内存管理:x86-64架构中的分页机制
  • RK3568 驱动和设备匹配的几种方法
  • 小区团购管理设计与实现(代码+数据库+LW)
  • Rust 与 FFmpeg 实现视频水印添加:技术解析与应用实践
  • AI作为学术评审专家有哪些优缺点?
  • Redis 常用数据结构及其对应的业务场景(总结)
  • R --- Error in library(***) : there is no package called ‘***’ (服务器非root用户)
  • 接口自动化进阶 —— Pytest全局配置pytest.ini文件详解!
  • 浏览器存储 IndexedDB
  • 蓝桥杯算法实战分享
  • CDN节点对网络安全扫描的影响:挑战与应对策略
  • 【Tauri2】004——run函数的简单介绍(2)
  • 【leetcode hot 100 84】柱状图中最大的矩形
  • LeetCode热题100题|1.两数之和,49.字母异位词分组
  • [WEB开发] Mybatis
  • CSP历年题解
  • Android 启动流程详解:从上电到桌面的全流程解析
  • 西班牙政府排除因国家电网遭攻击导致大停电的可能
  • 汤加附近海域发生6.4级地震
  • SIFF动画单元公布首批片单:《燃比娃》《凡尔赛玫瑰》等
  • 区域国别学视域下的东亚文化交涉
  • 27岁杨阳拟任苏木镇党委副职,系2020年内蒙古自治区选调生
  • 深一度|在亚马尔的天才面前,姆巴佩戴上“帽子”又如何