繁体   English   中英

Linux和Windows之间Java程序的性能比较

[英]Performance comparison of a Java program between Linux and Windows

我在Windows 7和Linux(Debian)上运行了一段Java代码(用于测量解析和验证带有模式的xml文件所花费的时间)。 现在,与Windows平台相比,在Linux平台上花费的时间应该非常少。 但是两种情况下记录的用户时间是相同的。

之所以能解决问题,是因为我还在两个平台上运行了一个简单的基准Java程序(使用了两个嵌套循环,运行了大约900000次)。 Linux平台上的用户时间是Windows平台上的60倍左右。

我还必须提到,我在Java程序中使用了Thaiopensource API。 (jing / trang项目)。 我的系统使用32位Linux(Debian)(Java也是32位),并具有3 GB RAM。 在Linux上,我将openJDK 1.5与IcedTea虚拟机一起使用。 我在Windows上的IDE是Eclipse Helios。

请建议我是否有某种方法可以解决此问题,即在Windows上执行解析和验证程序所花费的时间必须少于Windows。 但事实并非如此。 请提出一种方法。 谢谢。

为了公平地比较,您需要最小化测试之间的差异。 也就是说,您必须使用相同版本的Java(最好是最新版本,或者至少是最新版本)。如果您不进行系统调用,则所使用的OS没什么区别,很可能其他地方有所不同。

我建议您在两台计算机上使用-server选项使用最新版本的Java 7。 (Windows 32位默认使用不同的客户端JVM)

我还将确保您的测试至少运行10秒钟,以确保进行有意义的比较。

顺便说一句:没有什么特别的理由使Linux必须更快,因为您使用的是相同的硬件。

起初您可能会想编写这样的微基准测试很难。

首先,我建议您阅读IBM开发人员工作室的Robust Java基准测试系列:

  • 查看您要避免的一些问题的说明,以及
  • 您可以使用一些统计解决方案来提取某种信息(得出结果的结论并不总是那么明确和琐碎,有关详细信息,请参阅我链接的后一篇文章)。

还可以在Brent Boyer的网站上查看更多信息(并下载可用于基准测试的库)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM