I have two computers, both running Julia v0.6 on Windows 10 x64:
- My laptop is just shy of 4 years old. It has an intel i5-2400u @ 1.6GHz, 2 cores, 4 threads. With Geekbench, its single-core CPU score is 2985.
- My desktop was most recently upgraded two months ago. It has a Ryzen 5 1600X @ 3.6Ghz, 6 cores, 12 threads. With Geekbench, its single-core CPU score is 4178.
However, single-threaded Julia runs faster on the laptop. For example, here are the results of running the following code on both computers:
BLAS.set_num_threads(1) x = [peakflops(parallel = false) for _ in 1:30] mean(x), extrema(x)
(2.82e10, (2.49e10, 2.89e10))
(1.63e10, (1.53e10, 1.68e10))
So the more modern desktop, which we would expect from the Geekbench scores to be about 40% faster, is barely half as fast as the laptop.
And this isn’t just a BLAS difference between the computers either. I first noticed this issue when timing some simulations which are written in pure Julia. These simulations don’t involve any linear algebra; it’s all random number generation, manipulating DateTime objects, sorting and shuffling lists, dictionary lookup, etc. Even so, the older laptop runs these simulations almost twice as fast as the modern desktop.
Any thoughts on why this might be or more principled ways to do an apples-to-apples comparison between the computers?