是否存在Java与C++的真实基准?

Vad*_*ick 5 c++ java performance benchmarking

在我提出问题之前,请注意这个问题不是:

  • Java比C++更慢(或更快)吗?
  • 为什么Java比C++更慢(或更快)?

这个问题不征求意见,它征求事实 - 数字.

许多基准测试,如https://days2011.scala-lang.org/sites/days2011/files/ws3-1-Hundt.pdfhttp://benchmarksgame.alioth.debian.org/测试合成物,如Mandelbrot,或充其量只是真正程序的一小部分,比如数组排序.当然,这不会产生像整个应用程序基准测试那样的代表性数字.

那么,是否存在使用真实,完整的应用程序的基准测试,例如:

  • 笔记应用程序或文字处理器
  • Google地图等地图应用
  • 电子邮件客户端
  • 一个Web服务器

它必须是你每天使用的东西 - 一个完整的应用程序,而不是二进制树或排序数组的一小部分.

无论是延迟还是吞吐量,任何性能测量都可以.谢谢.

Mik*_*lov -7

Java 比 C++ 慢,而且不可能是其他方式。原因是 C++ 在操作系统可以理解的本机操作系统二进制代码中进行编译。Java 代码编译为由 JVM 执行的二进制 .class 文件。与C++相比多了一层。所以,速度比较慢。

  • 另一方面,Java虚拟机可以根据运行时反馈动态地重新组织程序执行,而C++编译器则被迫在编译时选择最不邪恶的方法。根据您正在做的事情,动态方法可能是有利的。当然,现在 Java 中的各个代码也可以编译为机器代码。 (4认同)