2016-04-29 17 views
-1

私はnumpy、sklearnと他の多くのものを使用するpythonスクリプトを持っています。このスクリプトは、500kbサイズのオンラインの数千のwavファイルを分析する必要があります。そして、私がパラレルモードで実行すると、このスクリプトのPythonはほぼすべてのメモリを消費します。どのようにPythonスクリプトを加速し、メモリ消費を減らすには?

Pythonスクリプトを 'コンパイル'するなどのことができるかどうか、または並行してスクリプトを実行する方が安くなるかどうかは疑問です。

ありがとうございます!

答えて

0

コンパイルは、暗黙のうちにコンパイルが行われていますが、この問題とは関係ありません。アプリケーション内の並列プロセス/スレッドの数を制御していないため、メモリが不足している可能性があります。

プールを作成してから使用して、リソース消費量をある程度制御することができます。マルチプロセッシング・インポートプールから

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

パフォーマンスを最適化するために、プロセッサ内のコアの数に等しいあなたのプールサイズをキープ ために、このリンクで見ることができます。

関連する問題