2025年基准测试:C++ 对比竞争对手——谁更快?

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

C++ 确认性能之王称号:2025年基准测试结果



2025年初,分析机构 TechEmpower 和开源爱好者社区发布了最新的大规模基准测试结果,对比了流行编程语言的性能。焦点集中在传统上被视为速度标杆的 C++ 与其动态竞争对手:Rust、Go、Java 和 C# 上。结果虽可预见,但包含一系列有趣的细微差别。



测试方法

基准测试包括四个关键场景:

  • 浮点运算 — 物理过程模拟(N体模拟)。
  • 内存操作 — 密集的内存块分配/释放(malloc/free 对比智能指针)。
  • 网络输入输出 — 通过异步框架处理 HTTP 请求。
  • 多线程 — 并行解析大型 JSON 数组。

所有测试均在相同硬件上进行:AMD Ryzen 9 7950X, 64 GB DDR5, NVMe SSD。编译器 — GCC 14, Clang 18, rustc 1.80, Go 1.23, .NET 9。



结果:C++ 对比竞争对手

在每个项目中,C++(使用 -O3 -march=native 标志)均以第一名或第二名完赛。详情如下:

  • 运算: C++ 比 Rust 快 12%,比 C# (.NET 9 AOT) 快 35%。Go 因垃圾回收器开销而落后一倍。
  • 内存: Rust 凭借所有权模型,速度几乎相同(差异小于 3%)。Java 和 C# 因 GC 暂停而落后 20-25%。
  • 网络: C++ (asio) 和 Rust (tokio) 不相上下。Go 在高负载下因协程调度器而落后 18%。
  • 多线程: 使用 std::jthread 和原子操作的 C++ 是领导者。Rust 因借用检查器检查而落后 7%。


为什么 C++ 仍然无可匹敌?

专家指出了三个原因:

  • 零成本抽象: C++ 编译器(尤其是 Clang 18)已学会积极优化模板代码,接近理想汇编代码。
  • 成熟的生态系统: 像 Boost、Qt 和 STL 这样的库经过多年打磨,以实现最高效率。
  • 硬件控制: 直接访问 CPU 缓存、SIMD 指令以及数据对齐管理,使 C++ 在高负载系统中具有优势。


对开发者的结论

如果您的项目是高负载服务、游戏引擎、高频交易或科学计算,C++ 在 2025 年仍然是无可替代的选择。Rust 是安全系统编程的绝佳替代品,但在原始速度上目前仍有所不及。Go 和 Java 是微服务的选择,其中速度并非关键。而 C++ 则在每个处理器时钟周期都至关重要的领域继续占据主导地位。



完整的基准测试数据和测试源代码可在 TechEmpower Framework Benchmarks 仓库中找到。

推荐库