Simulation Performance by CPU


#1

I have a few CPUs available, and for kicks ran a comparison of how fast they do simulations with the AMR simulator. This is by no means a super scientific test, but it should give a general idea of the relative speed of different CPUs and setups.

#Single-Client Tests
I ran 200 random stat combinations for my Protection Paladin on the Mythic+ boss script, with around a 50% death chance (worst case, requires the most iterations per setup). Below are the results:

                  price  4 threads        max threads               other
i7-6700k          $326   1117 sec         850 sec (8 threads)
i7-6850k          $475   1116 sec         667 sec (12 threads)
Ryzen 7 1800x     $457   1423 sec         608 sec (16 threads)      663 sec (12 threads)

Looking at straight-up physical core performance (the 4-thread test is equal or less than the number of physical cores on all of these CPUs), we see that the two intels are similar, as expected. They are the same generation cores. Each Ryzen core seem to be about 27% slower for this workload.

When we max out the threads on each CPU (equal to number of logical cores), we see that the Ryzen 7 pulls ahead, but there are diminishing returns due to some overhead with how the simulator is written. Interestingly, the Ryzen 7 performed the same as the Intel 6-core with 12 threads. This may seem surprising, but on reflection it isn’t: as you exceed the physical core count of a CPU it has to use techniques like hyperthreading to increase throughput, which is only a fractional gain over adding another physical core. Bottom line for this first round of tests:

                    cost effectiveness   speed    (over i7-6700k)
1. Ryzen 7 1800x    equal                +28%
2. i7-6850k         -10%                 +21%
3. i7-6700k         ----                 ----

If you do a lot of simulation and keep your CPU very busy almost all of the time, The Ryzen 7 1800x is the best choice of these three, it can complete the most simulations per second. If you only do sporadic simulations (like most people), I would get the newer i7-7700k 4-core (which I didn’t have available to test, but it is nearly the same price as the i7-6700k and benchmarks show it as slightly faster).

#Multi-Client Tests
There is some overhead involved when using a lot of threads. So I tried using two clients simultaneously on each of the CPUs:

                  clients   threads/client   runtime    increase (over 1 client)
Ryzen 7 1800x     2         8                572 sec    5.9%
i7-6850k          2         6                583 sec    12.6%
i7-6700k          2         4                814 sec    4.2%

So it seems that with some more playing around, we could probably hit a sweet spot for each CPU that gets slightly better throughput by running two clients with less threads. This makes sense – with batch simulations there is some downtime as it wraps up one chunk and fetches the next. With two clients, there is a high likelihood that one client will keep the CPU busy while the other is fetching a new chunk. With a much longer simulation, the increase from two clients would probably become more noticeable.

#Conclusion
If you are a simulation junky or someone who does other parallel processing tasks a lot like photo or video editing, the Ryzen 7 is a good choice, but is just barely better than the i7-6850k. You might want the i7 for an all-around faster machine for typical workloads and gaming.

For a general computer meant for gaming as well, the 4-core i7 processors are almost certainly a better choice – cheaper, faster single cores, still solid for simulating.