如何加速python脚本并减少内存消耗?

时间:2016-04-29 05:43:32

标签: python performance compilation

我有一个python脚本,它使用numpy,sklearn和许多其他东西。这个脚本应该在线分析500kb大小的在线数千个wav文件。当我以并行模式运行时,这个脚本python几乎占用了所有内存。

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

提前谢谢!

1 个答案:

答案 0 :(得分:0)

在python中没有 compile 这样的东西,即使存在隐式编译,但它与此问题无关。您可能正在耗尽内存,因为您没有控制应用程序中的并行进程/线程数。

您可以创建一个池,然后使用它来对资源消耗进行一定程度的控制。 来自多处理导入池

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

保持池大小等于处理器中的核心数,以获得最佳性能。