我在一个小型 Windows 桌面上开发了一个解析 XML 文件的 java 应用程序。我遇到了一个非常有趣的观察结果,我对此非常好奇。
我为我的应用程序生成了一个可执行 jar,并在非常强大的 Windows Server 机器上运行它。它有 2 个物理 Xeon 处理器,每个 8 核,时钟频率为 2.7 GHz,50GB RAM 和 7200 RPM HDD。当我启动我的应用程序时,机器处于空闲状态,我很确定没有其他应用程序与我共享这台机器。
后来,为了好玩,我在我的 Macbook Pro 上运行该可执行文件以查看其行为。我的个人机器是 Core i7,主频为 2.2 GHz,配备 4 GB RAM 和 5400 RPM HDD。
令人惊讶的是,在我个人较弱的机器上,该应用程序的速度提高了两倍。这是相同的输入\相同的输出。没有 IO,但为了读取 XML 来解析它们,我在终端上什么都不打印,但 Start Time \ End Time & Final result 是一行
我很想了解如此巨大的性能差异背后的原因。特别是在硬件级别较弱的机器上。它是以更好的方式处理硬件的操作系统吗?JVM工作得更好吗?