【问题标题】:Why does my program run at drastically different speeds on different computers?为什么我的程序在不同的计算机上以截然不同的速度运行?
【发布时间】:2013-11-21 05:18:23
【问题描述】:

所以我给朋友发了一份我实现的康威生命游戏的副本。当他收到它时,他抱怨我的应用程序[在超采样网格大小上,延迟为 0] 几乎没有1 代/秒。我回答说,在我的计算机上,填充的网格空间数量大致相同,我的速度约为 38 代/秒。我不能将这种差异归因于不同的显示器尺寸,因为我的尺寸或多或少相同,因此网格的尺寸也相似。为了保持一致性,我也从 jar 中运行了我的程序。

关键在于:他的计算机运行的是 AMD Phenom II X6 1090T 处理器 @ 3.2 Ghz(6 核),内存为 8 GB。我的电脑正在运行 i7-4700MQ @ 2.4 Ghz(四核),并有 8 GB 的 RAM。他还有一个 Nvidia Ge-Force GT 440,与我的英特尔集成显卡相比。

尽管我的计算机在每项统计数据上都逊色,但我的计算机如何能够如此深刻地超越他,这超出了我的想象。 有人知道是什么原因造成的吗? 我猜这与处理器架构的差异有关,但我不是专家。下面是我项目的 GitHub 页面的链接,以防您想自己编译和测试。

https://github.com/JoeAzar/CGOL-v1.3.2/tree/master

【问题讨论】:

  • 比较两台机器上的 JVM 版本可能会很有趣。
  • 出现这种情况的原因有很多。处理器架构不太可能。
  • github项目无法编译。即使修复了文件名,它也需要缺少包GraphingIV
  • @Alexei 很抱歉,我不小心在里面留下了一些进口商品。现在应该可以工作了。
  • @Dave 你为什么这么说?

标签: java processor conways-game-of-life cpu-architecture


【解决方案1】:

有人知道是什么原因造成的吗?我猜这与处理器架构的差异有关,但我不是专家。

我也只是猜测,但可能是这样的:

  • 不同的操作系统

  • Java 的不同版本/发行版

  • JVM 或操作系统级别的 32 位与 64 位问题。

  • 不同的JVM参数;例如影响堆大小的那些。

  • 分页磁盘速度/延迟的差异(如果应用程序正在分页)。

  • 机器上运行的其他东西(例如占用资源的 AV 软件)

它也可能与处理器架构相关......正如你所假设的......虽然我会把它放在可能的原因列表中。

【讨论】:

  • 嗯,他有 Windows 7,我有 8 个。相同的 Java 版本,都是 64 位。至于其他的我不能说。考虑到变量的数量,我想真的很难找到一个具体的原因。
猜你喜欢
  • 2020-11-26
  • 1970-01-01
  • 2012-11-30
  • 1970-01-01
  • 1970-01-01
  • 2010-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多