Skip to content

Commit 1c4ecec

Browse files
committed
don't invoke multiprocessing.Pool in case of a single-process
This is to avoid the boilerplate code introduced by multiprocessing.
1 parent 9cb281b commit 1c4ecec

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

bluepymm/prepare_combos/prepare_emodel_dirs.py

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -302,11 +302,24 @@ def prepare_emodel_dirs(
302302
emodels_hoc_dir,
303303
emodels_in_repo,
304304
continu))
305-
print('Parallelising preparation of e-model directories')
306-
pool = multiprocessing.Pool(processes=n_processes,
307-
maxtasksperchild=1)
305+
308306
emodel_dirs = {}
309-
for emodel_dir_dict in pool.map(prepare_emodel_dir, arg_list, chunksize=1):
307+
emodel_dir_dicts = []
308+
309+
if n_processes == 1:
310+
for arg in arg_list:
311+
emodel_dir_dict = prepare_emodel_dir(arg)
312+
emodel_dir_dicts.append(emodel_dir_dict)
313+
else:
314+
print('Parallelising preparation of e-model directories')
315+
pool = multiprocessing.Pool(processes=n_processes,
316+
maxtasksperchild=1)
317+
for emodel_dir_dict in pool.map(prepare_emodel_dir, arg_list,
318+
chunksize=1):
319+
emodel_dir_dicts.append(emodel_dir_dict)
320+
321+
for emodel_dir_dict in emodel_dir_dicts:
310322
for emodel, emodel_dir in emodel_dir_dict.items():
311323
emodel_dirs[emodel] = emodel_dir
324+
312325
return emodel_dirs

0 commit comments

Comments
 (0)