What's your fastest buildworld time?

I update CURRENT once or twice a day with kernel and world built by the Project, so I no longer need to count the minutes, or hours :beer:
 
I have several machines that do world under 20 minutes, at reasonable prices. I think they are more important for building chrome, which is 90-120 minutes.
Would you like to share what cpu are these machines using? These are very good times. I would use a pre-release version if my PC specs were better.
 
Would you like to share what cpu are these machines using? These are very good times. I would use a pre-release version if my PC specs were better.

- AMD 5950x 16 cores with 128 GB ECC UDIMM
- 2x Xeon E5-2697A, 32 cores total, 384 GB reg RAM
- 4x Opteron 6174 in Supermicro H8QGI+-F, 48 cores total, 192 GB reg

These are all around the same total speed for multiprocess compilation.
 
Hello!

On the Bhyve VM -
--------------------------------------------------------------
>>> World build completed on Wed May 15 20:40:36 EEST 2024
>>> World built in 2611 seconds, ncpu: 6, make -j6
--------------------------------------------------------------
Executed in 43.51 mins

Base hypervisor system has
CPU: AMD Ryzen 7 3700X 8-Core Processor (3600.11-MHz K8-class CPU)
 
- 2x Xeon E5-2697A, 32 cores total, 384 GB reg RAM
Im running 2x E5-2690 v4 but i have only 24GB ECC ( one slot just died so no more 32GB ) - will it be close to sub 20-30min or i need more ram for it or its CPU mostly ? as my one is 100Mhz slower and 4 cores less and also cache is 5MB less.
 
Im running 2x E5-2690 v4 but i have only 24GB ECC ( one slot just died so no more 32GB ) - will it be close to sub 20-30min or i need more ram for it or its CPU mostly ? as my one is 100Mhz slower and 4 cores less and also cache is 5MB less.

For FreeBSD building (make world) 24 GB might be fine. For Chrome building, not so much.

But DDR4 registered is dirt cheap. 4x 32 GB for $110 shipped on Ebay auctions.
 
For FreeBSD building (make world) 24 GB might be fine. For Chrome building, not so much.

But DDR4 registered is dirt cheap. 4x 32 GB for $110 shipped on Ebay auctions.
As i dont use Chrome im fine but i believe Firefox would have same issue as Chrome ?
P.s. Yes, my plan is to acquire more but i need to test my MB first and see what i can do as i have 16 memory slots.
Thank You.
 
On my 12700K with 64GB ddr4-3200 it takes around 1250 seconds with
"make -j 20 buildworld" on freebsd 14-STABLE
-j 20 flag doesn't make any sense... your processor only has up to 12 cores. Threads is not the same as cores, and the -j flag is for cores, not threads. Just about 21 minutes is not a bad time, but I think the same time can be achieved with a -j 12 or even -j 8.
 
If you have enough RAM then your -j value should include hyperthreading. A core with its hyperthreaded sibling have about 118% of the performance of just a core. No reason to throw that away.
Normally, a hyperthreading core has just 2 threads. Recent Intel designs do have variants that mix single-threaded cores and double-threaded cores, as in case of the recent example with the 12700K.

I don't know if there are make(1) flags that control which specific core does the compilation - but I'd think that there are none. The -j flag only specifies how many cores to use, but I don't think it is possible to just set it to 2, and ask just one specific core with 2 threads to run the compilation. You'd have to write some special code that targets specific cores to make that happen.
 
[...]
but I don't think it is possible to just set it to 2, and ask just one specific core with 2 threads to run the compilation. You'd have to write some special code that targets specific cores to make that happen.

Why would you want to do that (limit to 2 threads and bind them to a core)?

In any case, you do that with cpuset(8).
 
Why would you want to do that (limit to 2 threads and bind them to a core)?
to compare the performance of a single-threaded core against a double-threaded core on the same processor, and make it a fair comparison.

And BTW, it's section 1 for cpuset(1), not 8...

Even with that, you still have to set things up well beyond what the Handbook suggests for kernel compilations. Most people running buildworld don't even think to do that, which is why -j 20 doesn't even make sense.
 
I'm sorry, -j 20 is correct for the 12700K (given enough RAM).

I have done many of those comparisons of hyperthreaded combinations. Some applications are not sped up (but compilation is).

In any case, it is easy to test whether -j20 or -j12 is faster.
 
make -j32 buildworld for FreeBSD Current in 1054 seconds in AMD Ryzen 9 7950x3d, 32GB RAM 6000Hz but not in optimal conditions. I can further optimize it ...
 
Today, I tested a new Dell OptiPlex Tower Plus 7020 with i7-14700 (28C), 16GB RAM, 512NVMe and I'm pretty sure something isn't right with the numbers I got.
I do use ccache, tmpfs and WITH_META_MODE. Anyway, here are the numbers:

--------------------------------------------------------------
>>> World built in 18302 seconds, ncpu: 28
--------------------------------------------------------------
--------------------------------------------------------------
>>> Kernel(s) GENERIC built in 2233 seconds, ncpu: 28
--------------------------------------------------------------
 
Last edited:
have you changed the maximum jobs in your build configuration?
You mean /etc/make.conf? No, I left the previous configuration ( MAKE_JOBS_NUMBER= $(nproc --all)) as is, would that not work? Also, is there a utility that checks config files (mostly in /etc & /usr/local/etc) for syntax errors or misconfigurations?
 
Also, is there a utility that checks config files (mostly in /etc & /usr/local/etc) for syntax errors or misconfigurations?
I don't think so... but the way make(1) works, it would stop if there are syntax errors in the .conf files... it would let you know about those errors, no extra utilities required. The compilation process would not start. Well, it will start if the misconfig is not a showstopper, like not including the -O 3 flag ;)
 
Back
Top