27/11/2023 18:00, Bruce Richardson: > On Mon, Nov 27, 2023 at 05:45:52PM +0100, Thomas Monjalon wrote: > > 06/07/2023 14:49, Christian Ehrhardt: > > > On Mon, Jul 3, 2023 at 5:29 PM Thomas Monjalon <tho...@monjalon.net> > > > wrote: > > > > > > > > 29/06/2023 14:58, christian.ehrha...@canonical.com: > > > > > From: Christian Ehrhardt <christian.ehrha...@canonical.com> > > > > > > > > > > By adding -j we build in parallel, to make building on multiprocessor > > > > > machines more effective. While that works it does also break > > > > > reproducible builds as the order of the sphinx generated > > > > > searchindex.js > > > > > is depending on execution speed of the individual processes. > > > > [...] > > > > > -if Version(ver) >= Version('1.7'): > > > > > - sphinx_cmd += ['-j', 'auto'] > > > > > > > > What is the impact on build speed on an average machine? > > > > > > Hi, > > > I haven't tested this in isolation as it was just a mandatory change > > > on the Debian/Ubuntu side. > > > And the time for exactly and only the doc build is hidden inside the > > > concurrency of meson. > > > But I can compare a full build [1] and a full build with the change [2]. > > > > > > That is an average build machine and it is 35 seconds slower with the > > > change to no more do doc builds in parallel. > > > > I would prefer adding an option for reproducible build > > (which is not a common requirement). > > > Taking a slightly different tack, is it possible to sort the searchindex.js > file post-build, so that even reproducible builds get the benefits of > parallelism?
We never got a response to this question. I apply this patch, but I'm waiting for an effort in the direction Bruce is proposing. I remove the line "from packaging.version import Version" which becomes useless. Same for PIPE and STDOUT. For now we are slowing down the build of docs because there is a strong push for reproducibility and not enough effort for doing it efficiently.