我在解析XML文件的小型Windows桌面上开发了一个Java应用程序。我遇到了一个非常有趣的观察,我很好奇。Java应用程序Windows与Mac OS X
我为我的应用程序生成了一个可执行的jar文件,并将它运行在功能非常强大的Windows Server计算机上。它有2个物理Xeon处理器,每个8个内核主频为2.7 GHz,50GB RAM和7200 RPM硬盘。当我开始我的应用程序时,机器闲置,我很确定没有其他应用程序与我共享该机器。
后来,我在我的Macbook Pro上运行可执行文件,以便查看其行为。我个人的机器是Core i7,主频为2.2 GHz,带有4 GB RAM和5400转硬盘。令人惊讶的是,该应用程序在我个人较弱的机器上快了两倍。这是相同的输入\相同的输出。没有IO但是为了读取XML来解析它们,我在终端上没有打印任何内容,但是开始时间\结束时间&最终结果是一行
我非常好奇理解这种戏剧性能差异背后的原因。特别是来自硬件层面上较弱的机器。它是以更好的方式处理硬件的操作系统吗?它是JVM工作更好吗?
你好Piotr,你确定这一点。它会导致如此戏剧性的性能差异,并使功能更强大的机器性能更好。你认为我应该用Linux发行版来取代Windows吗?我投票赞成非常有益的信息。谢谢 – mowienay
首先 - 检查Windows机器上HotSpot编译器的类型。表现差异可能还有其他原因,但这是我头顶的东西。 –
我确实喜欢你所说的话。使用服务器命令,它在我的桌面Windows机器上工作,就像我的个人MAC机器一样。这是非常非常有益的建议。我很高兴看到Server强大的机器上的性能。再次感谢你 – mowienay