Really, some thoughts which CPU platform to buy. First, two rules of thumb:
- prices are highest in December and lowest in July, at least here in Russia. In the first half of year, each month waiting make things cheaper
- don't buy new technology right after release, wait 3-9 months till they will fix most of errors
In the mid-segment ($300-1000 for CPU) there are now 4 platforms, in order of cpu+mobo price:
- 8-core Ryzen: best m/t speed per dollar
- 6-core CoffeeLake: best s/t speed (as well as up to 6 threads), best memory latency
- 8/10-core Skylake-X: only platform with AVX512 support
- 16-core ThreadRipper: best m/t speed
So, AMD is good when you want best m/t performance for a given budget. They lose for any other scenarios. Best performance with up to 6 threads, or for latency-limited computations (including compilation and many compression algorithms) - choose CoffeeLake. Want to play with new AVX512 instruction set - Skylake-X.
For developers, Intel CPUs are especially preferable for software optimization because most of our program users are also using Intel CPUs. I.e. we should follow the cloud. In this regard, desktop CoffeeLake is preferable since Skylake-X has its own subtleties, and optimizing for Skylake-X isn't exactly the same as optimizing for desktop Intel CPUs.
Finally, only CoffeeLake includes GPU, very same GPU as employed by vast majority of computers. So, it has extra points as developer computer, since you can look into adding some GPU processing into your program and really test/optimize it for the most popular GPU.
So, today i will choose CoffeeLake, unless there are plans for AVX512. Ideally, just wait until desktop CPUs with AVX512.
Closest future events:
- Zen+ and X470 in March - probably will improve Zen CPU and memory frequencies
- Cheap CoffeeLake mobos based on H370, B350 and other reduced chipsets
As you see, they go in opposite directions, so B350+8700 will be cheaper but slower than Z370+8700K, while Zen+ will became faster.