HACKER Q&A
📣 teatree

Single thread vs. Core count, which is better for home dev setup?


Hey,

I am about to build a new home dev machine, seeing crazy pricing for new generation components everywhere, I am confused if a previous generation higher core count machine would be a better for a dev machine than a newer processor with better single thread performance. Most reviews I see on Youtube discuss gaming performance and not things like having multiple VMs, docker / Kube clusters, IDEs, emulators, open at the same time.

Processors I am considering are -

AMD Ryzen 3900x (12C,24T) 540 USD AMD Ryzen 5900x (12C,24T) 765 USD (least preferred) AMD Ryzen 5800x (8C,16T) 560 USD Intel i7 10850K (10C,20T) 520 USD (not GPU required)

My work primarily involves Java, Android & DevOps running etc. I usually have multiple VMs, docker containers running at the same time for testing on various OS, things like pihole, pfsense etc. I am not from the US, so this is really expensive purchase that I am hoping to use for 5-8 years.

Any advice would be appreciated. Thanks.


  👤 bluGill Accepted Answer ✓
Question cannot be answered from the information given.

What ALL are you doing when you notice that your current system is slow. Do you ever not do something because the system would get to slow for the other tasks? These are the questions to ask

When asking what ALL you are doing, all is important. If the answer is one thing, then you want better single core performance.

If the answer is one thing in the foreground you care about, with several background things, then can you lower the priority of the background things? If so single threaded is better. However if the background things are important as well, then you want enough cores so that each background thing gets enough cores. You say devops is what you do, so odds are you are someplace here.

As a java developer, how complex is the project when you normally build? That is, is your normal development cycle make a change and build the one file, or make one change and rebuild a lot. The latter is helped by more cores. Java is typically a one change means one file to build, but if you often merge changes from a large upstream project it could be the other way. (C++ is almost always build a lot of things)