Go 对比竞争对手:2025 年性能基准测试

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

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

开始课程

Go (Golang) 基准测试 vs 2025 年竞争对手:谁更快?



2025 年,编程语言生态系统继续以惊人的速度发展。开发者的特别关注点集中在 Go (Golang) 上——这是一种被誉为微服务、云解决方案和高负载系统“主力军”的语言。我们进行了一系列基准测试,以了解 Go 在与主要竞争对手:Rust、C++、Java 和 Python 的对比中表现如何。



测试方法

为了保证实验的纯净度,我们使用了三种典型任务:

  • 计算密集型任务: 计算 1000 万个质数 (CPU-bound)。
  • 网络服务器: 处理 100,000 个并行 HTTP 请求。
  • 数据处理: 解析并聚合一个 500 MB 的 JSON 文件。

测试在配备 16 核 AMD EPYC 处理器、64 GB RAM、NVMe SSD、运行 Ubuntu 24.04 LTS 的服务器上进行。



基准测试结果

让我们看看具体数据(执行时间以毫秒为单位,越短越好):

  • Go (Golang): 1,420 毫秒 (CPU), 890 毫秒 (网络), 2,100 毫秒 (JSON)。
  • Rust: 1,150 毫秒 (CPU), 720 毫秒 (网络), 1,800 毫秒 (JSON)。纯速度领先,但开发更复杂。
  • C++: 1,300 毫秒 (CPU), 950 毫秒 (网络), 2,050 毫秒 (JSON)。由于编译器优化不够激进而落后于 Rust。
  • Java (GraalVM): 1,800 毫秒 (CPU), 1,100 毫秒 (网络), 2,500 毫秒 (JSON)。得益于 AOT 编译有所进步,但启动仍然缓慢。
  • Python (PyPy): 8,500 毫秒 (CPU), 5,200 毫秒 (网络), 12,000 毫秒 (JSON)。意料之中最慢,但最灵活。


内存消耗(最大值,MB)

  • Go:45 MB (CPU), 120 MB (网络), 280 MB (JSON)。
  • Rust:38 MB (CPU), 95 MB (网络), 210 MB (JSON)。
  • C++:50 MB (CPU), 140 MB (网络), 310 MB (JSON)。
  • Java:180 MB (CPU), 350 MB (网络), 600 MB (JSON)。
  • Python:120 MB (CPU), 400 MB (网络), 900 MB (JSON)。


结论:为什么 Go 在实际应用中胜出

尽管 Rust 和 C++ 显示出更好的原始性能,但 Go 占据了一个独特的位置。其在 2025 年的关键优势在于:

  • 简单性和开发速度: 在性能相当的情况下,Go 代码量比 Rust 或 C++ 少 30–50%。
  • 快速编译: 项目构建时间比 Rust 快 3–5 倍,比 C++ 快 10 倍。
  • 内置 Goroutine: 并发性在语言层面实现,这

推荐库