Parallel performance scaling is inconsistent on Linux. It does fairly well on 8-core Ryzen, but terribly on 10-core Skylake X.
While unconfirmed, it seems possible that the non-power-of-two cores doesn't play well with Linux.
It's a fact that y-cruncher has load balancing issues when the number of cores is not a power-of-two. But this isn't too much of an issue on Windows since the scheduler seems to do a fairly good job of time-slicing up the inbalances.
Benchmarks: y-cruncher v0.7.4.9478
Single-threaded benchmarks are included as a baseline. The 1-2% difference between Windows and Linux for the single-threaded benchmarks is expected since different compilers were used. The important part is the parallel speedup.
Parallel performance scaling is inconsistent on Linux. It does fairly well on 8-core Ryzen, but terribly on 10-core Skylake X.
While unconfirmed, it seems possible that the non-power-of-two cores doesn't play well with Linux.
It's a fact that y-cruncher has load balancing issues when the number of cores is not a power-of-two. But this isn't too much of an issue on Windows since the scheduler seems to do a fairly good job of time-slicing up the inbalances.
Benchmarks: y-cruncher v0.7.4.9478
Single-threaded benchmarks are included as a baseline. The 1-2% difference between Windows and Linux for the single-threaded benchmarks is expected since different compilers were used. The important part is the parallel speedup.
Core i9 7900X (10 cores, 20 threads) @ 3.8 GHz AVX512, 3.0 GHz cache, 3800 MT/s memory
Ryzen 7 1800X (8 cores, 16 threads) @ 3.8 GHz, 2666 MT/s memory