Python执行速度:笔记本电脑与台式机

时间:2010-10-15 06:18:55

标签: python performance intel

我正在运行一个执行简单数据处理的程序:

  • 解析文字
  • 填充字典
  • 计算结果数据的某些功能

程序仅使用CPU,RAM和HDD:

  • 从Windows命令行运行
  • 输入/输出到本地硬盘
  • 在屏幕上显示或打印的内容
  • 没有网络

运行相同的程序:

  • 桌面:Windows 7,i7-930 CPU超频@ 3.6 GHz(内存速度匹配),Intel X-25M SSD
  • 笔记本电脑:Windows XP,Intel Core2 Duo T9300 @ 2.5GHz,7200 rpm HDD

CPU的频率是1.44,硬盘的基准分数是4倍(Passmark - Disk Mark)。我发现程序在桌面上的运行速度只有1.66倍。显然,CPU是瓶颈。

i7 Core与Intel Core2 Duo架构似乎只有15%的优势(大部分性能提升都归功于直接的CPU频率)。我可以在代码中做些什么来增加新架构的好处吗?


编辑:忘记提及我使用ActivePython 3.1.2,如果这很重要。

3 个答案:

答案 0 :(得分:6)

硬件性能的提高在大多数情况下会自动带来对用户应用程序的好处。备受诟病的“GIL”意味着你可能无法利用CPython的多核,除非你设计你的程序以利用各种多处理模块/库。

关于同样的讨论:Does python support multiprocessor/multicore programming?

python wiki上的解决方案的相关整理:http://wiki.python.org/moin/ParallelProcessing

答案 1 :(得分:0)

将处理拆分为多个线程。您的特定i7应该能够并行支持最多8个线程。

答案 2 :(得分:0)

考虑重复使用常规硬盘 - 根据缓存和数据的性质,SSD很可能会产生显着的性能差异。