qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] meson: Pass -j option to sphinx


From: Thomas Huth
Subject: Re: [PATCH] meson: Pass -j option to sphinx
Date: Thu, 27 Apr 2023 14:24:59 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0

On 26/04/2023 18.03, Fabiano Rosas wrote:
Save a bit of build time by passing the number of jobs option to
sphinx.

To avoid warnings from sphinx, alter our plugins to inform whether
they support parallelism. The two plugins touched are quite simple and
I don't see anything that would indicate they do not support being
called in parallel, so return True for both reads and writes.

before:
  $ time make -j16 man html
  ...
  [1/2] Generating docs/QEMU manual with a custom command
  [2/2] Generating docs/QEMU man pages with a custom command

  real    0m49.770s
  user    0m49.425s
  sys     0m0.716s

after:
  $ time make -j16 man html
  ...
  [1/2] Generating docs/QEMU manual with a custom command (wrapped by meson 
because command contains newlines)
  [2/2] Generating docs/QEMU man pages with a custom command (wrapped by meson 
because command contains newlines)
  real    0m30.153s
  user    1m5.945s
  sys     0m2.440s

Signed-off-by: Fabiano Rosas <farosas@suse.de>
---
  docs/meson.build           | 12 ++++++++++++
  docs/sphinx/fakedbusdoc.py |  5 +++++
  docs/sphinx/qmp_lexer.py   |  5 +++++
  3 files changed, 22 insertions(+)

diff --git a/docs/meson.build b/docs/meson.build
index f220800e3e..9e4bed6fa0 100644
--- a/docs/meson.build
+++ b/docs/meson.build
@@ -10,6 +10,18 @@ if sphinx_build.found()
      SPHINX_ARGS += [ '-W', '-Dkerneldoc_werror=1' ]
    endif
+ sphinx_version = run_command(SPHINX_ARGS + ['--version'],
+                               check: false).stdout().split()[1]
+  if sphinx_version.version_compare('>=5.1.2')
+    SPHINX_ARGS += ['-j', 'auto']
+  else
+    nproc = find_program('nproc')
+    if nproc.found()
+      jobs = run_command(nproc, check:false).stdout()
+      SPHINX_ARGS += ['-j', jobs]
+    endif
+  endif

Wouldn't it be better to use the value from "make -jXX" instead of always running with the maximum number of processors here?

 Thomas




reply via email to

[Prev in Thread] Current Thread [Next in Thread]