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

性能比拼: Rust vs C++

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

介绍

在本视频中,将对比 RustC++

会使用 Axum 框架的一个稍微改进的版本,该框架基于 HyperTokio 运行时,而对于 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++ 的性能
并为其 添加更多功能

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

  • 数据库测试
  • 可能会增加更多使用场景

相关文章:

  • 【Boost搜索引擎】上
  • Jupyter Notebook中解决matplotlib绘图中文乱码的实用方案
  • Unity Standard Shader 解析(一)之ForwardBase(标准版)
  • 如何在 JavaScript 中实现一个简单的递归函数,例如计算阶乘?
  • HarmonyOS之深入解析如何根据url下载pdf文件并且在本地显示和预览
  • 【leetcode hot 100 295】数据流的中位数
  • 基于大模型的肋骨骨折合并血气胸预测及诊疗方案研究
  • hadoop相关面试题以及答案
  • 中医气血精津辨证
  • Linux应用:线程进阶
  • hackmyvm-reversteg
  • Modbus TCP返回报文
  • 简单介绍一下Unity中的ScriptableObject
  • Skynet 框架中 gateserver、gate、watchdog 的关系
  • browser-use 库网页元素点击测试工具
  • 多路转接epoll
  • 基于杜鹃鸟鲶鱼优化(Cuckoo Catfish Optimizer,CCO)算法的多个无人机协同路径规划(可以自定义无人机数量及起始点),MATLAB代码
  • 输入百分比校验(数字非负数保留2位不四舍五入)
  • ABAQUS圆柱体纤维重力堆积3D模型
  • 关于bug总结记录
  • 品牌网球拍有哪些/优化网络培训
  • 做网站的一些话术/百度竞价价格查询
  • 网站做授权登录/seo外链发布平台
  • 邵阳网站建设多少钱/杭州上城区抖音seo有多好
  • 代理加盟微信网站建设/2024年重大新闻简短
  • 网站死链对网站影响/产品推广公司