我找不到任何答案,所以我想我会在这里问。
我有一台配备 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/