Am 15.03.2020 um 16:06 schrieb Jed Brown <[email protected]>:
Patrick Sanan <[email protected]> writes:
I want to generate docs/manualpages/htmlmap as quickly as possible, from scratch (a clone on ReadTheDocs), so I want a fast configure which will let me run "make allcite".
The below will work, I think, but I'm curious whether there's an even faster known way.
Also note that I had to explicitly turn off some MKL stuff, because it's included by default and depends on blaslapack.
'./configure', '--with-mpi=0', '--with-blaslapack=0', '--with-fortran=0', '--with-cxx=0', '--with-mkl_sparse_optimize=0', '--with-mkl_sparse=0',
These checks should probably be conditional on having found blaslapack, but you don't have a working PETSc this way (it'll fail to link examples), and as far as I can tell, you're just using configure to install sowing and not need to hack the makefiles to do the tree traversal without including $PETSC_ARCH/lib/petsc/conf/petscvariables.
This seems fine and we can eventually move to calling doctext from Python or doing its job in Python (as part of the last step, moving man pages to Sphinx).
At a high level, we see here that the cost of make allcite is dominated by recursive make tree traversal.
Overhead Command Shared Object 35.81% sh libc-2.31.so 13.31% make make 11.18% make libc-2.31.so 7.63% sh ld-2.31.so 5.84% make ld-2.31.so 4.20% doctext doctext 4.07% doctext libc-2.31.so 3.88% doctext ld-2.31.so 3.64% sh bash 2.79% rm libc-2.31.so 1.99% rm ld-2.31.so 1.56% sh [unknown] 1.14% doctext [unknown] 0.56% make [unknown] 0.55% python libpython3.8.so.1.0 How'd you get this timing?