idk. but you have to think about mainly one thing:
how well does the "overall" task you want to achieve scale with the core-count!?
test it with your existing hardware ... idk:
# run the compilation(s) with 1, 2, 4, 8, 16 cores
# look at the results ... how well does it scale with the core-count
think about your actual use-case:
# single build vs multiple ones on one system at a time
# how much of the build-performance comes from i/o ... ;)
what i discovered for certain project in the past:
sometimes test-runs are the most time-demanding part of a projects build and sometimes testing doesn't scale well with the cpu-core count... you need a compile/worker task per core to utilize your cpu ... so often really large core-numbers don't result in an additional speed-up (remember amdahls law ;)
on the other side: if you plan to run multiple such build-jobs in parallel, it might make sense to have a lot of cores ...
again: don't forget to measure the impact of i/o ... especially if you want to run multiple build-jobs in parallel.
and: while threadrippers are great cpus - i have to admit, that i'm a big amd fan ;))
... maybe the result is, that it won't scale well beyond lets say 8 cores for a single build-jobs or 16 / 32 cores for multiple jobs => stay with a good desktop-processor avoiding the ones with "energy-efficient" cores like the plague...
ps. personally i try to solve such problems with hardware with a good price/performance ratio ... don't "overspend", just because you think it makes sense. benchmark/measure!!
then go for a cheap box first, if it proofs your hypothesis and you do have a lot of tasks at your hand and time = money in your environment => just buy a second one etc.
if you have a lot of jobs: think about a job-scheduler ... etc.
Comments
imho. (!)
idk. but you have to think about mainly one thing:
how well does the "overall" task you want to achieve scale with the core-count!?
test it with your existing hardware ... idk:
# run the compilation(s) with 1, 2, 4, 8, 16 cores
# look at the results ... how well does it scale with the core-count
think about your actual use-case:
# single build vs multiple ones on one system at a time
# how much of the build-performance comes from i/o ... ;)
what i discovered for certain project in the past:
sometimes test-runs are the most time-demanding part of a projects build and sometimes testing doesn't scale well with the cpu-core count... you need a compile/worker task per core to utilize your cpu ... so often really large core-numbers don't result in an additional speed-up (remember amdahls law ;)
on the other side: if you plan to run multiple such build-jobs in parallel, it might make sense to have a lot of cores ...
again: don't forget to measure the impact of i/o ... especially if you want to run multiple build-jobs in parallel.
and: while threadrippers are great cpus - i have to admit, that i'm a big amd fan ;))
... maybe the result is, that it won't scale well beyond lets say 8 cores for a single build-jobs or 16 / 32 cores for multiple jobs => stay with a good desktop-processor avoiding the ones with "energy-efficient" cores like the plague...
ps. personally i try to solve such problems with hardware with a good price/performance ratio ... don't "overspend", just because you think it makes sense. benchmark/measure!!
then go for a cheap box first, if it proofs your hypothesis and you do have a lot of tasks at your hand and time = money in your environment => just buy a second one etc.
if you have a lot of jobs: think about a job-scheduler ... etc.
just my 0.02€