我正在运行一个执行简单数据处理的程序:
程序仅使用CPU,RAM和HDD:
运行相同的程序:
CPU的频率是1.44,硬盘的基准分数是4倍(Passmark - Disk Mark)。我发现程序在桌面上的运行速度只有1.66倍。显然,CPU是瓶颈。
i7 Core与Intel Core2 Duo架构似乎只有15%的优势(大部分性能提升都归功于直接的CPU频率)。我可以在代码中做些什么来增加新架构的好处吗?
编辑:忘记提及我使用ActivePython 3.1.2,如果这很重要。
答案 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很可能会产生显着的性能差异。