2016-11-18 18 views
1

私は最近、pythonで書かれたプロジェクトに携わっています。すべてのファイルが順次分析されているため、完了に約1時間かかります。私の仕事はこの時間を短縮することです。何を使用するのですかPythonでのマルチプロセッシングまたはマルチスレッド化?

私はPythonで何を使用すべきかよく分かりません。ファイル解析を並列に実行するマルチスレッドまたはマルチプロセスです。

お勧めします。

ありがとうございます。

+0

どのような分析が行われていますか?また、複数のファイルを並行して処理するか、各ファイルの複数の部分を並列に処理することを検討していますか? – Tankobot

+0

複数のファイルを並行して実行しようとしています.Googleに関するいくつかの調査の後で、私はpythonで "popen"を使うべきであることを知りました。私はいくつかの例を実行することによってこの領域を把握しようとしています。 :) –

答えて

0

おそらく、これはあなたが探しているものです。 https://nathangrigg.com/2015/04/python-threading-vs-processes

possible answer

あなたはまた、これらの二つの&違いの簡単な説明が必要ですか?

簡単に言えば、あなたのサブ問題の1つが別の仕上げを待たなければならない場合、マルチスレッドは良いです(例えば、I/O重い操作)。対照的に、あなたのサブ問題が同時に起こる可能性がある場合は、マルチプロセッシングが提案されます。ただし、コア数より多くのプロセスを作成することはありません。 maybe this will explain you better

1

これは、分析の種類によって大きく異なります。ここにヒントを与えるために、親指の簡単なルールは次のとおりです。

  • プロセスがメモリバインドされている場合は、
  • シリアルそれを保つことがIOバインドされている場合は、マルチスレッドを使用する - スレッドの最適数は、費やした時間の割合に依存しますCPUバウンド、あなたは先験的確認することができない場合は、使用可能なコアの数

に等しい数またはプロセスにムーティ処理を使用して、ちょうど実験...しかし、決してであれば、IOに

  • を待っていますすべての可能なユースケースで他のものが絶対に良い方法はないことを忘れないでください

  • 関連する問題