2025年基准测试:Java 与竞争对手——谁更快?
2025年初,TechEmpower 团队和独立爱好者发布了热门编程语言性能基准测试的最新结果。焦点集中在 Java 上,它随着 Java 25 和 Project Loom 的发布而持续演进。我们分析了数据并准备了简要概述:与 Go、Rust、C#、Python 和 Kotlin 相比,Java 的地位发生了怎样的变化。
测试方法
测试在典型负载下进行:Web 请求(JSON 序列化)、数据处理(循环、计算)、内存操作和启动速度。使用了各语言和框架的最新稳定版本(Java 使用 Spring Boot 4,Go 使用 Gin,Rust 使用 Actix,C# 使用 .NET 9)。
结果:执行速度
- Java (Spring Boot 4 + Virtual Threads): 约 185,000 请求/秒。得益于 Project Loom,结果出色——虚拟线程降低了并发开销。
- Go (Gin): 约 210,000 请求/秒。纯 Web 速度领先,但与 Java 差距极小。
- Rust (Actix): 约 230,000 请求/秒。绝对领先,但开发和编译复杂度仍然很高。
- C# (.NET 9): 约 175,000 请求/秒。接近 Java,但在微优化方面稍逊一筹。
- Python (FastAPI): 约 45,000 请求/秒。预期较慢,但在编码速度上领先。
- Kotlin (Ktor): 约 180,000 请求/秒。几乎与 Java 相同,这很合理——它在 JVM 上运行。
内存消耗
Java 在这方面传统上受到批评,但 Java 25 凭借改进的 G1 GC 和紧凑字符串显示出显著进步:
- Rust: 最低消耗(每个应用约 15 MB)。
- Go: 约 25 MB。
- Java: 约 60 MB(Java 17 时为 100+ MB)。
- C#: 约 70 MB。
- Python: 约 40 MB,但 GC 较慢。
启动速度
得益于 GraalVM Native Image 和 Project Leyden,Java 将简单服务的启动时间缩短至 0.3–0.5 秒。这与 Go(0.2 秒)和 Rust(0.1 秒)相当。此前 Java 在此项上以 1.5–2 秒的成绩落后。
总结与展望
2025年的基准测试表明,Java 不再“慢”。Project Loom 和 GraalVM 使其重回性能前三。Java 在原始数据上落后于 Rust 和 Go,但在生态系统、成熟度和开发者可用性方面胜出。对于企业级解决方案、微服务和高负载系统,Java 仍然是最佳选择之一。
如果您想更深入地学习 Java 25 或尝试 Virtual Threads 的实际应用,请查看我们在 PythonLib 上的课程。我们正在准备一系列关于现代 Java 的文章。