From b8f62c1749bed87d6dc02f1b323706a5b40aa7a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Radek=20Hu=C5=A1ek?= <PitelVonSacek@gmail.com> Date: Fri, 11 Dec 2015 17:45:13 +0100 Subject: [PATCH] parmap: Add option to not preserve order of items --- parmap.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/parmap.py b/parmap.py index f3b36de..a19c36d 100644 --- a/parmap.py +++ b/parmap.py @@ -33,7 +33,8 @@ def worker_fun(f, q_in, q_out): break q_out.put((i, [ f(x) for x in chunk ])) -def parmap(f, X, nprocs = None, chunksize = 1, chunks_in_flight = None): +def parmap(f, X, nprocs = None, chunksize = 1, chunks_in_flight = None, + inOrder = True): if nprocs is None: nprocs = multiprocessing.cpu_count() @@ -70,6 +71,12 @@ def parmap(f, X, nprocs = None, chunksize = 1, chunks_in_flight = None): jobs = val continue + if not inOrder: + chunk_index += 1 + cont.release() + yield val + continue + ret[i] = val while chunk_index in ret: val = ret[chunk_index] -- GitLab