Python GIL 系列之通过设置进程运行的CPU来提高Python程序的性能(续)

上一篇主要是讲了如何在Windows平台上将一个Python进程绑定到某一个CPU上运行,在网上闲逛时搜索了下python affinity,发现一个在linux和windows下通用的设置affinity的python包:

https://pypi.python.org/pypi/affinity/0.1.0

包是06年发布的,那时PC机才刚开始流行二核处理器。

包中只有两个函数:

set_process_affinity_mask(pid,mask)

get_process_affinity_mask(pid)

 

在linux下,mask的意义和window上的意义一致,

如要设置自身的Python进程运行在某个CPU上,可以调用如下代码:

import affinity
affinity.set_process_affinity_mask(0,1)

 

表示在CPU 0上运行自身进程 

 

在windows下使用时还必须安装pywin32,但是感觉用一个小功能就要在windows下安装一个大的包,很是不爽,于是就把原来的程序改了下,下载地址如下:(要用cython编译下)

 

设置Python进程运行于固定CPU代下载

 

又google搜索下,发现一篇很早的文章讨论在多处理器上优化Python的文章,02年的:

Optimising Python on multi-processor machines

 

你可能感兴趣的:(python,GIL)