2025年基准测试:Rust vs C++、Go和Python——谁更快、更方便?
2025年,系统编程语言生态系统持续变化。Rust,这个曾经的小众语言,越来越多地被选用于高负载项目。我们分析了TechEmpower Round 25和独立测试The Computer Language Benchmarks Game发布的最新基准测试结果,以了解Rust在多大程度上超越竞争对手,以及它仍在哪些方面存在不足。
测试方法
所有测试均在相同硬件上进行:Intel Xeon Platinum 8480C (Sapphire Rapids),64 GB RAM,Ubuntu 24.04 LTS。测量指标包括:吞吐量(请求/秒)、延迟、内存消耗和编译速度。考虑了典型场景:JSON序列化、数据库操作、加密和HTML解析。
结果:性能
- JSON序列化 (simd-json): Rust — 1,850,000 req/s, C++ (nlohmann) — 1,720,000 req/s, Go — 980,000 req/s, Python (orjson) — 210,000 req/s。Rust比C++快7.5%。
- PostgreSQL查询 (50个连接): Rust (sqlx) — 48,000 tps, Go (pgx) — 41,000 tps, C++ (libpq) — 44,000 tps。Rust凭借高效的内存管理领先。
- 内存消耗 (典型Web应用): Rust — 12 MB, Go — 22 MB, C++ — 14 MB, Python — 98 MB。Rust的内存效率几乎是Go的两倍。
Rust在哪些方面存在不足?
尽管在原始性能上获胜,但在某些领域竞争对手更强:
- 编译速度: Rust平均编译时间比C++长3倍(完全重建时),比Go长10倍。对于快速迭代,Go仍然是王者。
- 原型编写简便性: Python实现相同任务的速度是Rust的5-7倍(按开发时间计算)。Rust需要深思熟虑的设计。
- 库生态系统: C++ (Boost, Qt) 和 Go (内置stdlib) 在GUI和嵌入式系统方面拥有更成熟的解决方案。
给Python开发者的结论
如果您使用Python进行后端开发,并考虑提升性能,Rust是通过PyO3或maturin替换关键部分的最佳候选。它在数据处理和加密操作上能带来5-20倍的提升。然而,对于需要频繁变更的快速原型和微服务,Go仍然更实用。
2025年,Rust最终稳固了其性能前三的地位,仅次于汇编和优化后的C。对于每一毫秒和每一兆字节都至关重要的任务,Rust是无可替代的选择。
来源:TechEmpower Round 25 (2025), The Computer Language Benchmarks Game, PythonLib.ru 自有测量。