性能比拼: Rust vs C++

本内容是对知名性能评测博主 Anton Putra 1个月前 Rust vs C++ Performance 内容的翻译与整理, 有适当删减, 相关指标和结论以原作为准

介绍

在本视频中,将对比 Rust 和 C++。

会使用 Axum 框架的一个稍微改进的版本,该框架基于 Hyper 和 Tokio 运行时,而对于 C++ ,我会使用 Drogon框架。

我们将测量两款应用的 延迟(latency) 、吞吐量(throughput) ,以及 CPU 和内存使用情况(CPU & memory usage)。

在 AWS 上运行测试,每个应用都部署在 m7a.large 实例上,该实例配备 2 个 CPU 和 8GB 内存。

此外,我还设置了相同数量的线程,每个应用均使用 2 个线程,如你可以在终端中看到的那样。


测试

好了,我们现在来运行测试。

整个基准测试持续了 大约 2 小时 ,但(剪辑视频时)我将其压缩到了仅 几分钟 。

另外,如果你能对正在测试的应用进行优化,请提交 PR (Pull Request),我会 尽快合并 并 重新运行测试。

同时,我也需要大家的帮助,为 C++ 应用 添加额外的功能。

在测试的前半程,我注意到 两者的延迟表现非常接近,这在 Web 框架中是很少见的。

好了,我再运行 1 分钟,然后逐一分析每个图表。


结果分析

1. 吞吐量(Throughput)

C++ 仅达到 142,000 请求/秒 ,

而 改进后的 Axum 达到了 176,000 请求/秒。

这次 Rust 表现更好 ,相比于之前 Rust vs. Go 的基准测试有所提升,

主要原因是:

  • 这次使用了 更小的负载(payload),
  • 我接受了一些 PR,提升了整体性能。

2. 延迟(Latency)

Rust 也在延迟方面表现更优。

更低的延迟 始终是更好的,特别是对于 面向客户端的应用 来说。

3. CPU 使用情况(CPU Usage)

4. 内存使用情况(Memory Usage)


结论

这一次,Rust 的整体表现优于 C++ ,

但我希望能收到更多 PR ,进一步优化 C++ 的性能 ,

并为其 添加更多功能。

这 只是第一轮测试 ,接下来的 第二轮测试 将会包含:

  • 数据库测试,
  • 可能会增加更多使用场景。
相关推荐
子兮曰5 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰5 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
爱勇宝5 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
胡写代码5 天前
别再前后端各写一套表单校验了
java·后端
大勇前进5 天前
原生 PHP 还是 Laravel?小项目到底要不要上框架
后端
yuzhi_liu5 天前
我用 LangGraph4j 实现 Multi-Agent Supervisor
后端
alsmile5 天前
Node-RED 之外,国产规则引擎的新方案:基于标准语法,Go 先行实现
后端·开源·go
大白805 天前
PHP 内存溢出排查思路:看懂报错日志,精准定位问题
后端
二月龙5 天前
PHP 接口返回统一响应封装,让前后端对接更省心
后端
盖伦发发5 天前
软件工程SOLID 五大设计原则
后端·软件工程