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

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 服务器,那就更棒了。


http://www.kler.cn/a/611972.html

相关文章:

  • 深入解析libsunrpc:构建分布式系统的核心RPC库
  • 考研408-数据结构完整代码 线性表的链式存储结构 - 单链表
  • 微商生态的技术重构:定制开发开源AI智能名片与S2B2C商城小程序源码的赋能逻辑
  • 登录接口带验证码自动化(tesseract-OCR)
  • Crypto Architecture Kit简介
  • DiskGenius 硬盘管理工具下载+D盘空间扩容给C盘教程
  • ZIP_STORED和ZIP_LZMA没有compresslevel参数!
  • Scala 简介
  • 数据库的DDL操作
  • Flutter视频播放优化
  • 【数学建模】(智能优化算法)元胞自动机在数学建模中的应用
  • LeetCode 20 Valid Parentheses 有效的括弧 Java
  • 5款视觉OCR开源模型
  • 输入百分比校验(数字非负数保留2位不四舍五入)
  • c# 动态库重名冲突处理方法 (起别名)
  • 面试记录3
  • 深度学习查漏补缺:3.从 Sigmoid 到 GELU
  • 使用Hash和HTML5的History API实现前端路由
  • IIR(无限冲激响应)滤波
  • 爬虫面试题