如何增加python CPU使用率

时间:2014-01-19 20:10:11

标签: python cpu

我是一名新手程序员,所以在这里有点迷失。

我编写了一个小的python函数,根据我的搜索区域运行相当费时,这是预期的。

在一定的门槛之后,大约有一百万条记录我的程序似乎总是迷路了。 Python shell没有响应,但CPU使用率保持不变,约为13%。此外,我无法通过KeyboardInterrupt

停止程序执行

所以我的问题:是否有可能增加我的python程序的CPU使用率以使其运行得更快?

一个附带问题:有关为什么python shell变得无法响应的任何帮助?我没有使用过多的内存,我只需要能够尽快循环一个大的集合。

1 个答案:

答案 0 :(得分:3)

你的cpu是多核cpu吗?如果是,有几种方法可以在python中使用多个核心。

内置是多处理模块。 multiprocessing.Pool类使用map()和相关方法提供跨多个CPU的矢量化。这里有一个权衡。如果必须在进程之间传递大量数据,那么这种开销可能会抵消多核的优势。 使用合适的numpy构造。如果numpy是使用多线程ATLAS库构建的,那么在出现大问题时会更快。 使用numexprparallel pythoncorepyCopenhagen Vector Byte Code等扩展模块。

请注意,线程模块在这方面并不是那么有用。为了简化内存管理,全局解释器锁(“GIL”)强制一次只有一个线程可以执行python字节码。像numpy这样的外部模块可以在内部使用多个线程。