On Mon, 18 Mar 2024 at 16:54, Vegard Nossum <vegard.nossum@xxxxxxxxxx> wrote: > > > % time make htmldocs > > ... > > real 9m0.533s > > user 15m38.397s > > sys 1m0.907s > > Was this running 'make cleandocs' (or otherwise removing the output > directory) in between? Sphinx is known to be slower if you already have Yes, times were after 'make cleandocs'. > an output directory with existing-but-obsolete data, I believe this is > the case even when switching from one Sphinx version to another. Akira > also wrote about the 7.x performance: > > https://lore.kernel.org/linux-doc/6e4b66fe-dbb3-4149-ac7e-8ae333d6fc9d@xxxxxxxxx/ Having looked at the Sphinx code, it doesn't surprise me that incremental builds can have worse performance. There's probably going to be some speedups to be found when we go looking for them. > > I have an experimental fix that uses a dict for lookups. With the fix, I > > consistently get times in the sub 5 minute range: > > Fantastic! > > There is a github issue for the C++ domain but I believe it's the same > issue for both C and C++ domains: > > https://github.com/sphinx-doc/sphinx/issues/10966 Ahh, I looked for an issue for the C domain but did not see one. I didn't think to check for issues with the C++ domain, even though the code for the C domain has been copied from there.