RE: 15.0 LONG buildworld time
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 15 Aug 2025 22:08:26 UTC
David Cross <david_at_crossfamilyweb.com> wrote on Date: Fri, 15 Aug 2025 21:37:39 UTC : > I just upgraded one of my machines to 15.0 for testing some USB related > work (see other thread), and one thing I noticed was that AFTER > upgrading to 15.0 build times *doubled*. This is unusual since the > *first* build is typically the longest since it has to build the new > toolchain before compiling, and after that it just uses the system build > chain. > > > In my case the build time (single threaded) was 38,000 seconds on 14.2, > however after rebooting and doing a second build it shot to 76,000 > seconds (about) -- I had rebuilt a second time since I thought the > existence of a 14.2 library for SSL at build time contaminated the > build, it didn't, but an error I got at startup from unbound made me > think it did. > > > It seems the GENERIC kernel in the 15.0 branch has some extra debugging > and validation, but builds shouldn't be primarily kernel limited should > they? Build options are mostly stock, I add -O2, and REPTOLINE options, > and set CPU type to my native (raptorlake). Nothing else of note, and > certainly have never had any other issues. Well, an even bigger build is when poudriere bulk -Ca or the like builds nearly all the port-packages, pkg 2.2.1+ in use. I've experimented with such and found a large difference for main-amd64p-default (so: latest) based on: WITH_MALLOC_PRODUCTION and WITHOUT_LLVM_ASSERTIONS vs. WITHOUT_MALLOC_PRODUCTION and WITH_LLVM_ASSERTIONS That is with the exact same (unchanging) boot-kernel and boot-world but with different poudriere jail world builds. So, if you want faster build times under main [15 for now], try a world that was built with WITH_MALLOC_PRODUCTION and WITHOUT_LLVM_ASSERTIONS to then do the to-be-faster builds using that new build. Bootstrapping that might not have a way to avoid the issue initially. Also, I've not tested world or kernel build contexts, so my generalization here could be false and I'd not know it. Unfortunately, not even pkgbase provides such a pre-built main-* world, despite providing both the (debug) kernel/ and the kernel.GENERIC-NODEBUG/ . I had to use my own personal world build for the poudriere jail to test what turned out to be so much faster. The official FreeBSD port-package build servers for main-* use poudriere jail worlds that are based on: WITHOUT_MALLOC_PRODUCTION and WITH_LLVM_ASSERTIONS and this leads to much longer build times compared to the official, say, 142*-default (so: latest) builders, since they use: WITH_MALLOC_PRODUCTION and WITHOUT_LLVM_ASSERTIONS instead. (I've not tried to issolate the effect of the pair for the other 2 combinations and do not intend to.) === Mark Millard marklmi at yahoo.com