【问题标题】:Why does this Python Script run much faster on a slower computer?为什么这个 Python 脚本在速度较慢的计算机上运行得更快?
【发布时间】:2019-06-18 14:03:56
【问题描述】:

我有以下非常简单的代码,它似乎在朋友的计算机上运行得更快。

count  = 0
maxcount = 100000000

    while(count <= maxcount):
        count += 1
        if(count == 100000000):
            print(count)

我会假设我的计算机较新且配备 Intel i7-4720HQ(2.6Ghz 的四核,具有 3.6Ghz Boost)的性能会比我朋友的 Intel i5-3320M(双核2.6Ghz,3.3Ghz Boost)。但是,如果我们在所有其他程序都关闭的情况下同时运行这段代码,他的完成速度比我的快 20-30%。

【问题讨论】:

  • 基准测试与其说是科学,不如说是艺术,但从根本上说,除非您知道代码的哪一部分在完成大部分工作,并且如果这项工作受 CPU、内存或 IO 限制,您可以t真的说。因此,您应该对这段代码进行基准测试并查看。
  • 你们是否使用相同的 Python 版本?
  • 我不明白为什么这被否决了。在我看来,这是一个有趣的观察和合理的问题,根据:stackoverflow.com/tour 编辑:虽然接受的答案包含一些有趣的信息,但我想听听更多关于可能的解释。

标签: python performance architecture


【解决方案1】:

假设您使用的是相同的操作系统并且所有其他因素都受到控制,这可能是因为您的四核处理器速度提升至 3.6GHz,然后达到热限制并在大多数情况下减速至 2.6GHz 或更慢运行程序所需的时间。而您朋友的计算机可能能够在 3.3GHz 加速时钟上保持更长时间,这意味着总体上它仍然可以更快地完成。

但总体而言,对于任何有意义的应用程序,您的 CPU 都比他的 CPU 更快/性能更高。

【讨论】:

  • 另外,也许值得指出的是,在这种情况下,Python 将无法利用多核(尽管代码一开始并不是这样编写的)。
猜你喜欢
  • 2011-08-28
  • 2023-03-17
  • 1970-01-01
  • 2019-02-14
  • 1970-01-01
  • 2019-11-13
  • 2019-01-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多