virtualbox, kvm (win10 / win7 max 4 instances simultaneously, simulating a distributed environment)
docker (several databases at the same time, development environments)
heavy web browsers (multiple instances at the same time, simulating application load)
very rare gaming, if any …
I assume 64GB memory, 128GB maximum in the future, max 3 M.2 SSDs (I have a NAS for storing large amounts of data)
I don’t know much about the capabilities of today’s processors, but I’m considering R9 3900x, R9 3950x, TR 3960X. I want to build a future platform for at least 5 years
I’m not a beginner developer - this is my job. But as far as I know programming, I don’t know how to choose the right equipment. That’s why I am asking for advice
If 3960 is worth it, I am able to use it, but I just had doubts whether I would be able to use all its possibilities, and whether 3950x is not enough for me
For your use case, I’d suggest the Ryzen-9 3900X on a X570 board, so in a few years you can upgrade to a newer proc (3rd gen Zen) w/o much hassle and still have good performance now as well as lower overall costs. Having said that, given this is essentially a business machine you’re building, going TR might benefit your taxes. (higher costs reduces your profits, thus lowering your tax bills, but that might not be the way your local tax office works, so as advise locally!)
You biggest gain is the pcie lanes, not that you cant do it on the x570 its just way less of an issues on TR. You 100% could get away with x570 but is way tighter of a fit due to 3x m.2 ssds
Thank you for the advice. I will probably go in the direction of 3900x with a plan to replace next year with the top podel 4000 when it appears on the market for good. For now, 3900x seems to me that it should meet my expectations
I went for a 3900X and a single 960GB Optane 905p drive. 64 GB of ECC RAM.
The RAM is almost too much, except for virtual machines. I’m running Linux as the base OS and I gave my Windows VM with Visual Studio 32 GB just because I could.
Can’t tell you what to do. More cores is better right? But you probably want to balance the cost. Threadripper motherboards jump up in cost a lot.
Totally agreed, I would also invest more in faster storage and better RAM.
I would even argue that even a 3600 would be enough … I mean even if you are developing for massive projects like the linux kernel or chrome browser, how often do you need to compile the entire code base? your typical workflow would only require incremental compilation based on the files you changed, and the IDE will probably do it for you as soon you save the file (some can even automatically re-run the affected unit tests), it wouldn’t even wait until you hit f5.
As for the databases and other vms, I still think even a 6c/12t cpu is a lot of horse power to run them, but to run your database queries that depends on the size of the test data … after all, it comes down to sensible usage, if you test on big enough datasets you can bring down even an epyc rome 64c/128t to its knees, but that would be stress testing which should not be a part of the typical development workflow.
Edit: Since you are not gaming, you could wait for the upcoming Ryzen 4700G, it will probably support faster RAM, have 8c/16t and an overkill integrated igpu for non-gaming workloads … should save you at least $100 gpu that you can throw on another SSD.
Edit: Since you are not gaming, you could wait for the upcoming Ryzen 4700G
I’m in a similar boat as the OP thinking about either a 3900X or a 4700G. The thing is, if I’m going to pick a CPU with an iGPU, what would be the reason for going with the 4700G rather than an Intel 10700K or 10900K?