INDEX build optimizations
Vladimir.Chukharev at gmail.com
Vladimir.Chukharev at gmail.com
Sun Jun 22 09:21:21 UTC 2008
Since this subject has been discussed recently, I want to tell my
observations.
I played a bit with INDEX_JOBS environment variable, and I found that
for my notebook
the best value is 8. The limiting factor seems to be grep'ing for
libssl through
packages. I believe this is easy to reproduce, probably with a higher
value for INDEX_JOBS.
Below is a part of ps axww output, and it shows more than 8 greps.
I hope if cashing the result of this command can be implemented, it
will increase speed
of make index quite considerably.
Best regard,
Vladimir
20384 p1 IN+ 0:00,00 sh -ev
20385 p1 IN+ 0:00,02 make -B _lang.describe
20391 p1 IN+ 0:00,00 [sh]
20393 p1 IN+ 0:00,09 make -B describe DIRPRFX=lang/
20405 p1 SN+ 0:00,11 [sh]
25830 p1 IN+ 0:00,00 sh -ev
25831 p1 IN+ 0:00,02 make -B _mail.describe
25838 p1 IN+ 0:00,00 [sh]
25839 p1 IN+ 0:00,22 make -B describe DIRPRFX=mail/
25845 p1 SN+ 0:00,01 [sh]
33352 p1 IWN+ 0:00,00 sh /home/chu/chu/bin/cvsup-all.sh
34293 p1 IWN+ 0:00,00 time nice make index
34294 p1 IWN+ 0:00,00 make index
34311 p1 IWN+ 0:00,00 /bin/sh -ec cd /usr/ports && make /usr/ports/
INDEX-7
34312 p1 IWN+ 0:00,00 make /usr/ports/INDEX-7
34318 p1 IWN+ 0:00,00 (sh)
34320 p1 SN+ 0:00,08 make -j8 INDEX_TMPDIR=/tmp/index.1fgs6hrt
BUILDING_INDEX=1 ECHO_MSG=echo > /dev/null describe
35531 p1 IN+ 0:00,00 sh -ev
35532 p1 IN+ 0:00,02 make -B _misc.describe
35539 p1 IN+ 0:00,00 [sh]
35540 p1 IN+ 0:00,15 make -B describe DIRPRFX=misc/
35551 p1 IN+ 0:00,12 [sh]
39146 p1 IN+ 0:00,00 sh -ev
39149 p1 IN+ 0:00,02 make -B _multimedia.describe
39213 p1 IN+ 0:00,00 [sh]
39215 p1 IN+ 0:00,07 make -B describe DIRPRFX=multimedia/
39232 p1 IN+ 0:00,03 [sh]
40733 p1 IWN+ 0:00,00 sh -ev
40734 p1 IWN+ 0:00,00 make -B _databases.describe
40742 p1 IWN+ 0:00,00 (sh)
40743 p1 IWN+ 0:00,00 make -B describe DIRPRFX=databases/
40772 p1 SN+ 0:00,16 [sh]
41039 p1 IN+ 0:00,00 make -B describe
41042 p1 IN+ 0:00,00 sh -c cd /usr/ports/devel/omniNotify/../
omniORB && make -V WRKSRC
41044 p1 IN+ 0:00,01 make -V WRKSRC
41051 p1 IN+ 0:00,00 sh -c grep -l -r "^lib/libssl.so." "/var/db/
pkg" | while read contents; do sslprefix=`grep "^@cwd " "$
{contents}" | /usr/bin/head -n 1`; if test "${sslprefix}" = "@cwd /
usr/local" ; then echo "${contents}"; break; fi; done
41052 p1 DN+ 0:00,43 grep -l -r ^lib/libssl.so. /var/db/pkg
41053 p1 IN+ 0:00,00 sh -c grep -l -r "^lib/libssl.so." "/var/db/
pkg" | while read contents; do sslprefix=`grep "^@cwd " "$
{contents}" | /usr/bin/head -n 1`; if test "${sslprefix}" = "@cwd /
usr/local" ; then echo "${contents}"; break; fi; done
41520 p1 IN+ 0:00,01 make -B describe
41526 p1 IN+ 0:00,00 sh -c grep -l -r "^lib/libssl.so." "/var/db/
pkg" | while read contents; do sslprefix=`grep "^@cwd " "$
{contents}" | /usr/bin/head -n 1`; if test "${sslprefix}" = "@cwd /
usr/local" ; then echo "${contents}"; break; fi; done
41527 p1 DN+ 0:00,38 grep -l -r ^lib/libssl.so. /var/db/pkg
41528 p1 IN+ 0:00,00 sh -c grep -l -r "^lib/libssl.so." "/var/db/
pkg" | while read contents; do sslprefix=`grep "^@cwd " "$
{contents}" | /usr/bin/head -n 1`; if test "${sslprefix}" = "@cwd /
usr/local" ; then echo "${contents}"; break; fi; done
42412 p1 IN+ 0:00,01 make -B describe
42414 p1 IN+ 0:00,00 sh -c grep -l -r "^lib/libssl.so." "/var/db/
pkg" | while read contents; do sslprefix=`grep "^@cwd " "$
{contents}" | /usr/bin/head -n 1`; if test "${sslprefix}" = "@cwd /
usr/local" ; then echo "${contents}"; break; fi; done
42415 p1 DN+ 0:00,38 grep -l -r ^lib/libssl.so. /var/db/pkg
42416 p1 IN+ 0:00,00 sh -c grep -l -r "^lib/libssl.so." "/var/db/
pkg" | while read contents; do sslprefix=`grep "^@cwd " "$
{contents}" | /usr/bin/head -n 1`; if test "${sslprefix}" = "@cwd /
usr/local" ; then echo "${contents}"; break; fi; done
42548 p1 SN+ 0:00,01 make -B describe
42555 p1 SN+ 0:00,00 sh -c grep -l -r "^lib/libssl.so." "/var/db/
pkg" | while read contents; do sslprefix=`grep "^@cwd " "$
{contents}" | /usr/bin/head -n 1`; if test "${sslprefix}" = "@cwd /
usr/local" ; then echo "${contents}"; break; fi; done
42560 p1 DN+ 0:00,05 grep -l -r ^lib/libssl.so. /var/db/pkg
42561 p1 SN+ 0:00,00 sh -c grep -l -r "^lib/libssl.so." "/var/db/
pkg" | while read contents; do sslprefix=`grep "^@cwd " "$
{contents}" | /usr/bin/head -n 1`; if test "${sslprefix}" = "@cwd /
usr/local" ; then echo "${contents}"; break; fi; done
42589 p1 SN+ 0:00,01 make -B describe
42599 p1 SN+ 0:00,00 sh -c grep -l -r "^lib/libssl.so." "/var/db/
pkg" | while read contents; do sslprefix=`grep "^@cwd " "$
{contents}" | /usr/bin/head -n 1`; if test "${sslprefix}" = "@cwd /
usr/local" ; then echo "${contents}"; break; fi; done
42600 p1 DN+ 0:00,05 grep -l -r ^lib/libssl.so. /var/db/pkg
42601 p1 SN+ 0:00,00 sh -c grep -l -r "^lib/libssl.so." "/var/db/
pkg" | while read contents; do sslprefix=`grep "^@cwd " "$
{contents}" | /usr/bin/head -n 1`; if test "${sslprefix}" = "@cwd /
usr/local" ; then echo "${contents}"; break; fi; done
42606 p1 SN+ 0:00,01 make -B describe
42611 p1 SN+ 0:00,00 sh -c grep -l -r "^lib/libssl.so." "/var/db/
pkg" | while read contents; do sslprefix=`grep "^@cwd " "$
{contents}" | /usr/bin/head -n 1`; if test "${sslprefix}" = "@cwd /
usr/local" ; then echo "${contents}"; break; fi; done
42613 p1 DN+ 0:00,05 grep -l -r ^lib/libssl.so. /var/db/pkg
42614 p1 SN+ 0:00,00 sh -c grep -l -r "^lib/libssl.so." "/var/db/
pkg" | while read contents; do sslprefix=`grep "^@cwd " "$
{contents}" | /usr/bin/head -n 1`; if test "${sslprefix}" = "@cwd /
usr/local" ; then echo "${contents}"; break; fi; done
42623 p1 SN+ 0:00,01 make -B describe
42626 p1 SN+ 0:00,00 sh -c grep -l -r "^lib/libssl.so." "/var/db/
pkg" | while read contents; do sslprefix=`grep "^@cwd " "$
{contents}" | /usr/bin/head -n 1`; if test "${sslprefix}" = "@cwd /
usr/local" ; then echo "${contents}"; break; fi; done
42627 p1 DN+ 0:00,05 grep -l -r ^lib/libssl.so. /var/db/pkg
42628 p1 SN+ 0:00,00 sh -c grep -l -r "^lib/libssl.so." "/var/db/
pkg" | while read contents; do sslprefix=`grep "^@cwd " "$
{contents}" | /usr/bin/head -n 1`; if test "${sslprefix}" = "@cwd /
usr/local" ; then echo "${contents}"; break; fi; done
42673 p1 SN+ 0:00,01 make -B describe
42675 p1 SN+ 0:00,00 sh -c grep -l -r "^lib/libssl.so." "/var/db/
pkg" | while read contents; do sslprefix=`grep "^@cwd " "$
{contents}" | /usr/bin/head -n 1`; if test "${sslprefix}" = "@cwd /
usr/local" ; then echo "${contents}"; break; fi; done
42676 p1 DN+ 0:00,05 grep -l -r ^lib/libssl.so. /var/db/pkg
42677 p1 SN+ 0:00,00 sh -c grep -l -r "^lib/libssl.so." "/var/db/
pkg" | while read contents; do sslprefix=`grep "^@cwd " "$
{contents}" | /usr/bin/head -n 1`; if test "${sslprefix}" = "@cwd /
usr/local" ; then echo "${contents}"; break; fi; done
54143 p1 IN+ 0:00,00 sh -ev
54144 p1 IN+ 0:00,02 make -B _devel.describe
54276 p1 IN+ 0:00,00 [sh]
54277 p1 IN+ 0:01,37 make -B describe DIRPRFX=devel/
54361 p1 IN+ 0:00,35 [sh]
71092 p1 IN+ 0:00,00 sh -ev
71094 p1 IN+ 0:00,02 make -B _ftp.describe
71241 p1 IN+ 0:00,00 [sh]
71242 p1 IN+ 0:00,03 make -B describe DIRPRFX=ftp/
71261 p1 SN+ 0:00,02 [sh]
76023 p1 IN+ 0:00,00 sh -ev
76024 p1 IN+ 0:00,02 make -B _irc.describe
76033 p1 IN+ 0:00,00 [sh]
76035 p1 IN+ 0:00,04 make -B describe DIRPRFX=irc/
76080 p1 SN+ 0:00,02 [sh]
More information about the freebsd-ports
mailing list