From cd4ed5023553fd90dfc82b847fc2193aaabbe9ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Radek=20Hu=C5=A1ek?= <PitelVonSacek@gmail.com> Date: Thu, 10 Dec 2015 16:28:07 +0100 Subject: [PATCH] parmap: add queue_size option Exposes another parameter for fine tuning parmap. --- groupConnectivity.pyx | 4 ++-- parmap.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/groupConnectivity.pyx b/groupConnectivity.pyx index bb11b0d..068d1da 100644 --- a/groupConnectivity.pyx +++ b/groupConnectivity.pyx @@ -139,7 +139,7 @@ def subdivisionIterator(G, edges = None): def generateSubdivisions(file, G, edges = None, function = lambda H: H.graph6_string(), - parallel = 0, chunksize = 1): + parallel = 0, chunksize = 1, q_size = 3): f = open(file, 'w+') f.write("# Subdivisions of edges '%s' of graph '%s' (%s)\n" % (edges, G.graph6_string(), G)) @@ -148,7 +148,7 @@ def generateSubdivisions(file, G, edges = None, iterator = map(function, subdivisionIterator(G, edges)) else: iterator = parmap(function, subdivisionIterator(G, edges), - nprocs = parallel, chunksize = chunksize) + nprocs = parallel, chunksize = chunksize, queue_size = q_size) for line in iterator: f.write(line) diff --git a/parmap.py b/parmap.py index dcb8521..cdb0f89 100644 --- a/parmap.py +++ b/parmap.py @@ -32,11 +32,11 @@ 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): +def parmap(f, X, nprocs = None, chunksize = 1, queue_size = 3): if nprocs is None: nprocs = multiprocessing.cpu_count() - q_in = multiprocessing.Queue(100) + q_in = multiprocessing.Queue(queue_size) q_out = multiprocessing.Queue() proc = [ multiprocessing.Process( -- GitLab