Java 代码在处理器速度较慢的 Mac 上运行速度比在 Windows 计算机上运行速度更快?

标签 java windows macos performance

我找不到任何答案,所以我想我会在这里问。

我有一台配备 Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz 的 MacBook 和一台配备 i7-4790K 4ghz cpu 的 Windows 计算机。

我编写了一些 Java 代码,它在两台机器上运行 6 个线程,其中有一个长时间运行的任务,使用普通的 for 循环迭代 ArrayList,每次都是相同的,除了每次 ArrayList 变得有点短,因此时间每次该方法运行时,自然会变得更短。然而,在我的 MacBook 和 Windows 计算机上运行它,它们运行代码所需的时间存在显着差异,我的 MacBook 每次都以大约 1 分钟或更长的时间获胜,而运行时间约为 12-13 分钟。运行该方法(此时)。

两台 cpu 都没有以 100% 的速度运行,并且两台计算机都有大量未使用的 RAM。

我希望您能提供帮助,并让我知道是否有办法提供更多信息。 :)

最佳答案

我首先检查每台机器上的内存规范。一般来说,苹果公司倾向于在其机器中配备尽可能快的内存。

如果不是 RAM,您应该检查 JVM 的配置是否相同:如果 Windows PC 上的堆空间较小,则可能会花费额外的时间进行垃圾收集。

除此之外,一定是 Mac 上的上下文切换速度更快,但我之前从未听说过有人说 OS X 本质上比 Windows 更快。

关于Java 代码在处理器速度较慢的 Mac 上运行速度比在 Windows 计算机上运行速度更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42248507/

相关文章:

c++ - 如何阻止 EnumWindows 无限运行 win32

c++ - Visual Studio 2010 MSVCR 依赖删除?

java - 如何从 Java 在 Mac OS X 上的 Microsoft Word 中打开文件?

java - 如何加载包含变音符号的文件名的资源 JAR?

java - Jackson json 只转换选定的字段和方法

java - 使用 PDFBox 加水印

node.js - Mac OS X 10.5 上的 NPM 错误

java - neo4j:用一个节点替换具有相同属性的多个节点

java - 使用 JNA 解密使用 MS DPAPI 加密的数据

c - Mac OS X 塞拉利昂 : Undefined symbols for architecture x86_64