[PATCH] D23755: cmake: Add an ordering dep between HTML & man Sphinx targets

Michał Górny via llvm-commits llvm-commits at lists.llvm.org
Sat Oct 1 13:17:29 PDT 2016


mgorny added a comment.

In https://reviews.llvm.org/D23755#557910, @beanz wrote:

> In https://reviews.llvm.org/D23755#540180, @mgorny wrote:
>
> > Are you sure about that? It doesn't impact performance much on dual-core system but on a single core it will run twice as long.
>
>
> I don't think it is worth optimizing for single core machines. Multi-core CPUs are the norm these days, so I would prefer not to optimize for them.


Tell that to the person who is running Gentoo on old x86. Because most of binary distros don't even work on CPU that old ;-).

>> Why are you concerned about the build graph?
> 
> Having a non-constrained build graph allows multi-core CPUs to better utilize their resources.

I disagree here. We're talking about losing a major cache opportunity. We lose the opportunity to run twice as many Sphinx instances in parallel but the free cores are better utilized compiling objects at the time. If I read the timing right, I would guess around 75% of the CPU time is consumed on building the doctree.

Besides, Sphinx already does parallel jobs internally.

> An alternative solution would be to use Sphinx's DummyBuilder to generate the doctree. It is a builder that produces no output, so it should suffice as a way to generate the doctree which could then be shared between the other documentation builds.

That would be nice but I should point out that the 'dummy' builder is not available as separate builder in sphinx-1.3.5 (which is the Gentoo current for some reason). It seems that upstream split it out 3 months ago, so this would mean restricting LLVM to very fresh Sphinx versions.


https://reviews.llvm.org/D23755





More information about the llvm-commits mailing list