私は画像処理のpython関数を作成しています。Pythonスクリプトは、マルチプロセスを使用してゆっくりです
私のシステムには4コア+4スレッドがあります。
私は自分の機能をスピードアップするためにマルチプロセッシングを使いたいと思っていますが、いつでもマルチプロセッシングパッケージを使うことができます。私の機能はそれほど速くなく、1分ほど遅いです。なぜ最初にマルチプロセッシングパッケージを使用するのか考えてください。
主な機能:
if __name__ == '__main__':
in_path="C:/Users/username/Desktop/in.tif"
out_path="C:/Users/username/Desktop/out.tif"
myfun(in_path, out_path)
時間= 3.4分マルチ地図
:
if __name__ == '__main__':
p = Pool(processes=4)
in_path="C:/Users/username/Desktop/in.tif"
out_path="C:/Users/username/Desktop/out.tif"
result = p.map(myfun(in_path,out_path))
時間= 4.4分
if __name__ == '__main__':
pool = multiprocessing.Pool(4)
in_path="C:/Users/username/Desktop/in.tif"
out_path="C:/Users/username/Desktop/out.tif"
pool.apply_async(myfun, args=(in_path,out_path,))
pool.close()
pool.join()
時間= 4.5分
問題は 'myfun()'にありますので、私たちには表示されません。 –
@JohnZwinckなので、マルチプロセッシングは特定の機能専用ですか? – user27818
コードを表示して決定してみませんか? –