代码之家  ›  专栏  ›  技术社区  ›  Frank V

Python在Windows上的性能

  •  11
  • Frank V  · 技术社区  · 15 年前

    与*nix机器相比,Python在Windows上的速度通常较慢吗?Python似乎在我的MacOSX机器上大放异彩 在我的Windows Vista机器上运行较慢。这两台机器的处理能力相似,vista机器的内存增加了1GB。

    6 回复  |  直到 15 年前
        1
  •  7
  •   Glorfindel Doug L.    5 年前

    我想跟进此事,我发现了一些我相信是“我的答案”的东西。看来Windows(vista,我在上面注意到了这一点)处理文件的速度不快。这是tony-p-lee提到的。

    我发现这种比较 Ubuntu vs Vista vs Win7 . 他们的结果很有趣,就像他们说的,你需要对结果持保留态度。但我认为结果让我找到了原因。Python,我觉得它是间接测试过的,在Windows上即使不是快一点也差不多。。请参阅“Richards基准”一节。

    Graph - small file HD to HD
    (来源: tuxradar.com )

    http://www.tuxradar.com/content/benchmarked-ubuntu-vs-vista-vs-windows-7

        2
  •  1
  •   Chris Smith    15 年前

    这里没有真实的数字,但在Windows平台上,启动速度肯定较慢。我经常在家里的Ubuntu和工作时的Windows7之间切换,在Ubuntu上启动速度要快一个数量级,尽管我的工作机器的速度至少是Ubuntu的4倍。

        3
  •  1
  •   tony-p-lee    15 年前

    Windows处理文件打开的效率不如Linux。

    或者Linux可能有更多依赖python的实用程序,python脚本/模块更有可能缓冲在系统缓存中。

        4
  •  1
  •   Soviut    15 年前

    我在工作中注意到的一件事是,卡巴斯基病毒扫描程序倾向于将python解释器的速度减慢。python提示符需要3-5秒才能正确显示,Django的测试服务器需要7-10秒才能完全加载。正确禁用其活动扫描将启动时间恢复到0秒。

        5
  •  0
  •   Daniel Quinlan    15 年前

    使用操作系统和网络库,我可以确认Windows上的性能降低,至少对于版本=<2.6.

    我编写了一个CLI播客获取程序脚本,它在Ubuntu上运行得非常好,但在XP或7上下载的速度都不会超过80 kB/s(我通常的最大速度是1.6 MB/s)。

    我可以通过调整下载流的缓冲区大小来部分纠正这一问题,但Windows上肯定存在一个主要瓶颈,无论是通过网络还是IO,这在Linux上都不是问题。

    基于此,系统和操作系统接口任务似乎比Windows更好地针对*尼克斯进行优化。

        6
  •  0
  •   Innocuous    9 年前

    我没有测试加载速度等,但我只是看看两者之间的处理器使用情况。为了公平起见,这两个都是新安装的,我复制了媒体库的一部分,并在两个场景中应用了相同的配置。每个测试都是独立运行的。

    • 在Windows上,Python使用了我处理器的20%,它触发了系统压缩内存以40%的速度运行(这是一台6GB或RAM的旧机器)。
    • Ubuntu上的虚拟机(链接到我的windows文件系统)处理器使用率约为5%,压缩内存降至20%左右。

    这是一个巨大的差异。我运行此测试的触发因素是,使用python的应用程序运行我的CPU高达100%,并且无法运行。我现在已经在虚拟机上运行了2周,我的处理器使用率平均下降到65-70%。因此,无论是在长期测试还是短期测试中,考虑到运行VM和第二个操作系统的开销,这个Python应用程序在Linux上的速度要快得多。我还可以确认Python应用程序的响应更好,就像我机器上的其他所有东西一样。

    现在,这可能是非常特定于应用程序的,但至少是有趣的。

    这台PC是一台旧的AMD II X2 X265处理器,6GB内存,SSD高清(Python是从中运行的,但VM使用的是常规的5200rpm高清,用于大量其他内容,包括录制2台闭路电视摄像机)。