Unfortunately, existing reviews don't seem to cover my use case. I don't play games, and I don't use Windows. I do a lot of software development that benefits from parallel execution (think: C++, Rust, and various projects built with Bazel). I care about compilation speed, multithreaded scalability, and interoperability with my existing tools and workflows.
The 13th gen Intel chips (13900k) offer better performance than AMD's current top-of-the-line chips, and also at a lower MSRP. However, the new architecture of E-cores and P-cores worries me, especially in Linux.
* Are recent (5.15+) versions of the kernel able to effectively take advantage of the different types of cores? The Linux scheduler AFAIK was never really designed with the assumption that each physical CPU would have different performance characteristics, and I'm not convinced that an adaptation shoehorned in after the fact would be particularly effective.
* Given the unequal cores, how does this affect performance determinism? I'm concerned about the scenario where, for example, I benchmark a program that spins up $(nproc) worker threads, and some of those workers report much less max throughput than the rest (the ones allocated to E-cores by the kernel). If the kernel juggles the workload among all cores, then I'd have to rewrite a bunch of my tools to pin threads to specific P-core CPUs to get an accurate signal for maximum single-thread performance.
* "Turbo boost" clocks are a new concept to me--if the hardware changes clock frequencies arbitrarily, it sounds like this would be another source of performance non-determinism that I'd have to account for in userspace.
The AMD options are also quite solid though, especially if you're looking for a no-nonsense, straightforward option. Neither one is a bad pick.
I personally am waiting for the 3D V-Cache variants which will hopefully be announced at CES.
Might be helpful in answering some questions.
Original thread: https://www.phoronix.com/review/intel-core-i9-13900k
You can turn off turbo and set CPU frequency manually using cpufreq-set -f.