On 24/01/2024 16:02, Akira Yokosawa wrote:
On Tue, 23 Jan 2024 14:21:32 +0100, Vegard Nossum wrote:
On 23/01/2024 13:30, Jani Nikula wrote:
On the other hand, if you're using a virtual environment, what's the
point in holding back to a version as old as 2.4.4? You might just as
well go for latest, specifying only the top level dependencies,
Performance... Specifying exact package requirements like 2.4.4 is
useful since 2.4.4 is by far the fastest Sphinx version that builds our
documentation correctly (AFAICT) and build speed matters a lot when the
difference is 10 minutes vs 30 minutes.
I've never observed such a huge difference, probably because I almost
always do clean build of the document, i.e., run "make cleandocs" before
running "make htmldocs".
So I assumed the performance regression Vegard are emphasizing should
be in incremental builds.
I was actually referring to the full builds, but see below...
Here are some of the results comparing v2.4.5, v4.3.2 (of ubuntu jammy),
and v7.2.6. (v2.4.5 needs "make -j2 htmldocs" to avoid OOM.)
Incremental builds are done after moving from v6.7 to v6.8-rc1.
VM spec used: memory: 8GB, threads: 4, ubuntu jammy
data in each cell: elapsed time, max resident memory
v2.4.5 v4.3.2 v7.2.6
============================= ============ ============ ============
clean build at v6.7 10m08s 3.3GB 10m31s 1.1GB 10m14s 1.2GB
incremental build at v6.8-rc1 11m22s 3.3GB 18m55s 1.2GB 19m50s 1.4GB
clean build at v6.8-rc1 10m45s 3.2GB 10m32s 1.2GB 10m13s 1.3GB
empty make at v6.8-rc1 3.3s 6.6s 7.0s
============================= ============ ============ ============
I took only one sample for each run, so these numbers should not be
taken as representative, but they can still show tendencies.
I've done a new test here with numbers that aren't quite as bad as the
ones I gave above:
2.4.4: 12m46,609s
4.3.2: 23m50,909s
I also did some tests the other day on the same machine:
7.2.6: 21m31,522s
7.3.0+/91ed62272712: 23m23,220s
These are all full clean builds.
I am quite sure I actually saw 30m+ before on 4.3.2, but maybe it's
because I didn't run 'make cleandocs' before and I'm running into the
same slowness that you see with your incremental build.
This means the slowness in incremental build is not improved in v7.2.6,
which contradicts what Vegard said earlier in this thread.
I think I've been confusing "100% clean full build" and "incremental
build where everything's changed" -- I didn't imagine the incremental
build could be that much slower than a full clean build.
Thank you for bringing clarity and more precise numbers. I'll know to
do a 'make cleandocs' now after switching branches if the bases are
not basically the same.
Vegard