Re: speedup build time
- In reply to: Maku Bex: "RE: speedup build time"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 28 Oct 2024 02:10:48 UTC
On Sun, Oct 27, 2024 at 08:47:55PM -0500, Maku Bex wrote: > Hi David, > > * What (if any) "max_jobs" (make's "-j" parameter) are you using? 16 > > * For a 16T system, I expect I would start with a value of around 28. Shouldn't this number be equal to $(nproc --all)? Not necessarily. You might want to watch the output of "top" as the machine is busy, and try changing the max_jobs parameter. Basically, if the machine is spending "a lot" of time during "make buildworld" (& friends) in "system" time, well ... that's likely (mostly) overhead. I typically (mostly, and from memory) see 0% idle with <2% system CPU. You almost certainly don't want a thread to need to hunt down the next bit of work to be done when the current bit's time slice is up or it goes into a wait: that next work should be queued up, ready to go. > * Are you using make's "meta" mode? I do. Yes. > > * Can you get more memory for that system? Yes, I can bump it to 32GB. This is a Dell OptiPlex 7080 Micro, and not sure if it is worth upgrading the other components. I suspect that additional memory would be "helpful." > If your laptop can complete the builds in such a small amount of time, then there's either something wrong with my machine or the config files. Oh! The build just finished as I was typing this reply and...(not for the weak hearts): :-} > -------------------------------------------------------------- > >>> World built in 32437 seconds, ncpu: 16 > -------------------------------------------------------------- > > Here are the contents of: > > make.conf: > > CPUTYPE?=icelake-client > CFLAGS= -O2 -pipe -march=${CPUTYPE} > #CXXFLAGS=${CFLAGS} > MACHINE_CPU+= avx512 avx2 avx sse42 sse41 ssse3 sse3 f16c > MAKE_JOBS_NUMBER= 16 > BATCH=yes > WRKDIRPREFIX=/var/ports/tmp > CCACHE_DIR=/var/ccache/tmp > > OPTIONS_UNSET+= QT5 QT6 CUPS VESA SCFB TWM XCONSOLE XCLOCK GNOME KDE EXAMPLES \ > DEBUG ASPELL NLS DOCS > ------------------------------------------------------------------------------- > src-env.conf: > > WITH_META_MODE=yes > WITH_CCACHE_BUILD=yes > #WITH_DIRDEPS_BUILD=yes <<fails > #WITH_DIRDEPS_CACHE=yes <<fails > > WITHOUT_TALK=yes > WITHOUT_TELNET=yes > WITHOUT_TFTP=yes > WITHOUT_IPFILTER=yes > WITHOUT_IPFW=yes > WITHOUT_FLOPPY=yes > WITHOUT_GAMES=yes > WITHOUT_BLUETOOTH=yes > WITHOUT_EE=yes > WITHOUT_FREEBSD_UPDATE=yes > WITHOUT_GPIO=yes > WITHOUT_MAIL=yes > WITHOUT_TESTS=yes > WITHOUT_AMD=yes > WITHOUT_CLANG=yes > WITHOUT_DEBUG_FILES=yes > WITHOUT_EXAMPLES=yes > WITHOUT_HYPERV=yes > > Happy Hacking, > .... My config files are much simpler (these are for stable/14; head is nearly the same): /etc/make.conf: NET_SNMP_SYS_CONTACT="david@catwhisker.org" NET_SNMP_SYS_LOCATION="variable" NET_SNMP_LOGFILE=/var/log/snmpd.log NET_SNMP_PERSISTENTDIR=/var/net-snmp EXTRA_PATCH_TREE=/usr/local/port_patches WITH_BSD_JDK=TRUE WITHOUT_RUNTIME_CPUDETECTION= YES WITHOUT_CJK= YES NO_SUID_XSERVER=YES INSTALL_AS_NCFTP=yes OPTIONS_SET=OPTIMIZED_CFLAGS DISABLE_VULNERABILITIES=yes FORCE_PKG_REGISTER= YES PKG_NOCOMPRESS=1 SENDMAIL_MC=/etc/mail/laptop.mc WITH_DEBUG_PORTS=x11/nvidia-driver /etc/src-env.conf: WITH_META_MODE=yes /etc/src.conf: KERNCONF=CANARY PORTS_MODULES+=graphics/drm-61-kmod .MAKE.META.IGNORE_PATHS += /usr/local/etc/libmap.d IWN_DEBUG=1 IEEE80211_DEBUG=1 BATCH_DELETE_OLD_FILES=1 WITHOUT_REPRODUCIBLE_BUILD=yes WITHOUT_LLVM_TARGET_ALL=yes [Some of the above may well be a bit dated; I am not always good about cleaning up after an experiment.] Peace, david -- David H. Wolfskill david@catwhisker.org It has been said that history repeats itself. This is perhaps not quite correct; it merely rhymes. -- Theodor Reik See https://www.catwhisker.org/~david/publickey.gpg for my public key.