I just upgraded from a 2700X to a 3900X. Maybe it’s not quite HEDT but its closer, and my god, it’s literally mind blowing. I measured a 47% wall clock improvement on a test compilation. If you compile lots of C++ you are in for some serious surprises. Especially so if you are doing things that cross-cut hundreds of C++ packages at once, it basically enables things that aren’t possible on, say, a mid range laptop.
That said, if you are just running simple Go or Rust compilations, or small single-package C++ compilations, caching and a decent processor should be good enough, and you probably won’t benefit much from a lot of threads. (You may want it for your Webpack builds still ;)
One tip: scale up your RAM, pay attention to clocks and latency relative to your processor (especially with AMD where it really matters.) 16 GB is easy to kill when you are running 24 instances of GCC and a VM or two.
Rust actually benefits a lot from more threads once you have a couple of dependencies. A personal project using amethyst/nalgebra dropped its compile time for a fresh release build from 20 minutes to 2 when I upgraded from a i5-4670k to a r9 3900x.
This is true; I’ve never worked on a huge Rust project, only fairly large C++ projects (at home, anyways.) Rust compilations always felt fast enough to not matter, similar to Go, although maybe not quite that fast. (With Go, it never felt to slow to say, build Kubernetes from scratch; it’s just fast.)
Regarding webpack builds... absolutely NVME, when I went from SSD to NVME it's the Node/webpack build times that I really noticed the performance differences.
I would think the extra cpu would be more of an impact with Rust than even C++... I wouldn't know, running a 3600 as a place holder until the 3950X comes out. I couldn't handle the 4790K anymore, going from 32gb to 64gb and the couple extra cores made a huge difference for my docker/vm workflows. Can't wait for the 3950x. I'm sure the TR 3rd gen will be similarly impressive with the changes to IO.
Oh yeah, NVMe is an absolute given. It only took one NVMe drive experience and I have never had a desktop or laptop since without a large NVMe SSD as the boot and primary disk. It is in many cases a substantial boost and you can benefit across more things than a bigger CPU since many things these days are IO bound to begin with!
I’m rocking a Samsung 970 Pro 512 GB on my desktop. I never thought I’d need more space than that, since I can always use my NAS or the spare spinning disk I have installed. But, the more CPU power you have, the more you can feed it... I find myself building entire fragments of Nixpkgs now and it takes substantial disk space to do it.
That said, if you are just running simple Go or Rust compilations, or small single-package C++ compilations, caching and a decent processor should be good enough, and you probably won’t benefit much from a lot of threads. (You may want it for your Webpack builds still ;)
One tip: scale up your RAM, pay attention to clocks and latency relative to your processor (especially with AMD where it really matters.) 16 GB is easy to kill when you are running 24 instances of GCC and a VM or two.