Re: meson documentation build open issues
Andres Freund <andres@anarazel.de>
Hi, On 2023-03-19 19:33:38 -0700, Andres Freund wrote: > I think we can make the docs build in parallel and incrementally, by building > the different parts of the docs in parallel, using --stringparam rootid, > e.g. building each 'part' separately. > > A very very rough draft attached: > > parallel with parts: > real 0m10.831s > user 0m58.295s > sys 0m1.402s > > normal: > real 0m32.215s > user 0m31.876s > sys 0m0.328s > > 1/3 of the build time at 2x the cost is nothing to sneeze at. I could not make myself stop trying to figure out where the big constant time factor comes from. Every invocation costs about 2s, even if not much is rendered. Turns out, that's solely spent building all the <xsl:key>s. The first time *any* key() is invoked for a document, all the keys are computed in a single pass over the document. A single reasonable key doesn't take that much time, even for the size of our docs. But there are several redundant keys being built. Some of them somewhat expensive. E.g. each <xsl:key name="genid" match="*" use="generate-id()"/> takes about 300ms. There's one in chunk-common and one in docbook-no-doctype.xsl. I'm going to cry now. Greetings, Andres Freund
Commits
-
docs: meson: Change what 'docs' target builds
- 9e5b2a091fd0 17.0 landed
-
meson: Add 'world' target
- 6614cfb43c82 17.0 landed
-
meson: Document build targets, add 'help' target
- 07cb29737a4e 17.0 landed
-
meson: docs: Add {html,man} targets, rename install-doc-*
- ddcab2a03295 17.0 landed
-
docs: Document --with-selinux/-Dselinux options centrally
- 06c70849fb26 17.0 landed
-
meson: Change default of 'selinux' feature option to auto
- c04f3de3dca3 17.0 landed
-
meson: Fix doc installation path computation
- 7b8399819b9b 17.0 landed
-
meson: Install missing example files
- b630d9d6c82a 17.0 landed
-
meson: docs: Install all manpages, not just ones in man1
- f646ac672567 16.1 landed
- a237a07d5351 17.0 landed
-
meson: docs: Allow configuring simple/website style
- 9d2a464a0484 16.0 landed
-
docs: html: load stylesheet via custom.css.source
- b8059bdf1ef8 16.0 landed
-
docs: html: copy images to output as part of xslt build
- 0012979d989f 16.0 landed
-
meson: docs: Preparatory cleanups
- 0ba827ecfc67 16.0 landed
-
docs: Remove support for 'htmlhelp' format
- d75c7fbaf94e 16.0 landed
-
meson: add install-{docs,doc-html,doc-man} targets
- f13eb16485fe 16.0 landed
-
meson: add install-{quiet, world} targets
- e522049f2399 16.0 landed
-
meson: make install_test_files more generic, rename to install_files
- 614c5f5f52d5 16.0 landed
-
meson: rename html_help target to htmlhelp
- 7730ceb43fe5 16.0 landed