From 3889a1158f314a980d6579b629e4fabe82fa6ea5 Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Mon, 14 Jan 2013 08:35:41 +0100 Subject: [PATCH] builder: reduce # of subprocesses to N-1 for -jN, since the main process is also busy now --- sphinx/builders/__init__.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sphinx/builders/__init__.py b/sphinx/builders/__init__.py index bbf7fdd3d..9c413c2e0 100644 --- a/sphinx/builders/__init__.py +++ b/sphinx/builders/__init__.py @@ -303,12 +303,15 @@ class Builder(object): # (parallel only works on POSIX, because the forking impl of # multiprocessing is required) if not (multiprocessing and - self.app.parallel and + self.app.parallel > 1 and self.allow_parallel and os.name == 'posix'): self._write_serial(sorted(docnames), warnings) else: - self._write_parallel(sorted(docnames), warnings, self.app.parallel) + # number of subprocesses is parallel-1 because the main process + # is busy loading doctrees and doing write_doc_serialized() + self._write_parallel(sorted(docnames), warnings, + nproc=self.app.parallel - 1) self.env.set_warnfunc(self.warn) def _write_serial(self, docnames, warnings):