2016-04-29 91 views
-1

我有一个Python脚本是使用numpy,sklearn和很多其他的东西。这个脚本应该在线分析500kb大小的数千个wav文件。当我以并行模式运行时,这个脚本python几乎消耗了所有的内存。如何加速python脚本并减少内存消耗?

我想知道是否有可能,例如,'编译'python脚本或做一些事情,以便更便宜地并行运行脚本。

预先感谢您!

回答

0

在python中没有这样的东西,编译,即使有一个隐含的编译过程,但它与这个问题无关。您可能内存不足,因为您没有控制应用程序中并行进程/线程的数量。

您可以创建一个池,然后用它的工作有一定程度上的资源消耗的控制。 从多进口池

def f(x): 
    return x*x 

if __name__ == '__main__': 
    with Pool(5) as p: 
     print(p.map(f, [1, 2, 3])) 

你可以看一下这个链接查看更多细节 https://docs.python.org/3.5/library/multiprocessing.html

保持你的池的大小等于内核数量在您的处理器以获得最佳性能。