私のコンピューターで Python のマルチプロセッシングをテストするために、このコードを少し書きました。
from multiprocessing import Pool
var = range(5000000)
def test_func(i):
return i+1
if __name__ == '__main__':
p = Pool()
var = p.map(test_func, var)
Unix の time コマンドを使用してこれを計測したところ、結果は次のようになりました。
real 0m2.914s
user 0m4.705s
sys 0m1.406s
次に、同じものを使用して、var
時間を計りましたtest_func()
:
var = map(test_func, var)
そして結果は
real 0m1.785s
user 0m1.548s
sys 0m0.214s
マルチプロセッシング コードは従来のものよりもはるかに高速であるべきではありませんmap
か?