Upgrading my CPU, Ryzen 2600 to 5800x
I originally built my current desktop system on the AM4 AMD platform using a Ryzen 2600 CPU. This 6-core, 12 thread has done me well over the last few years but I decided it would be good to upgrade this for longevity. Now seemed like a good time since we’re at the tail end of the AM4 socket lifetime, meaning there’ll be no new CPU upgrade options bought to market in the future, at least without having to also upgrade the motherboard and likely memory too. My hope is that an upgrade to a latter AM4 CPU now should keep my system performant for the next 5 years or so, and be less likely to bottleneck a future GPU upgrade.
I decided to buy the 5800x as the replacement. I was enticed with the idea of adding additional cores to my system and, while not really needing them right now, It looks like things are becoming more thread hungry. At the £250 purchase price, this was the top end of what I was willing to spend, especially since anything beefier is at a £100 premium upon this, creating a significant drop in value.
While many benchmarks exist already, performance can be very use-case specific so I thought i’d take a few benchmarks of my actual real-world usage to quantify the benefits to my existing PC tasks.
Test runs performed roughly in non-perfect conditions, multiple runs separated by |
pipes.
Benchmark - BookStack PHPUnit Test Suite
This is a run of BookStack’s test suite, which runs PHP while also making heavy use of MySQL on the same machine. Ran using PHP8.1 on Ubuntu 22.04, BookStack code tagged at v22.10.2. This is a suite of 901 test cases, 4419 assertions. I’ve included results for running all tests in series vs parallel testing, as handled by the underlying framework which splits tests based on available threads.
Series
Command: /usr/bin/php8.1 ./vendor/bin/phpunit
Ryzen 5 2600: 3m07s | 3m06s | 3m10s
Ryzen 7 5800x: 1m33s | 1m32s | 1m32s
Parallel
Command: /usr/bin/php8.1 ./artisan test --parallel
, databases pre-prepared (Not first fresh run).
Ryzen 5 2600: 43s | 43s | 43s
Ryzen 7 5800x: 22s | 22s | 22s
Benchmark - Kdenlive Video Project Render
This is a video project render for my BookStack v22.10 release video which a 384s long, H.264 1080p 60fps video once rendered. Pretty sure that it’s using ffmpeg via software when rendering this video. Again, this is on Ubuntu 22.04 with Kdenlive running via snap.
Render options: f=mp4 movflags=+faststart vcodec=libx264 crf=23 g=15 acodec=aac ab=160k channels=2 real_time=-4 preset=veryfast threads=0
Ryzen 5 2600: total: 434s / avg: 53.1fps | total: 432s / avg: 53.3fps
Ryzen 7 5800x: total: 208s / avg: 110.8fps | total: 211s / avg: 109.2fps
Benchmark - Battlefield 5
I quite enjoy playing battlefield 5 every now and then. For context I have a Vega64 GPU, which is probably the most limiting factor for gaming but I’ve always had a feeling that the CPU could be bottle-necking things somewhat, due to seeing around 80-90% GPU utilization, this FPS under my target 60. Results are taken on my Windows 10 system.
Ryzen 2600 Campaign: Avg: 77.9 / 1%-Low: 61.3 / .1%-Low: 44.5
Ryzen 5800x Campaign: Avg: 78.0 / 1%-Low: 64.7 / .1%-Low: 51.7
Ryzen 2600 Multiplayer: Avg: 61.8 / 1%-Low: 36.0 / .1%-Low: 24.4
Ryzen 5800x Multiplayer: Avg: 70.2 / 1%-Low: 51.8 / .1%-Low: 35.2
Thoughts
I’m positively surprised by the gains, the performance increase is way better than I was expecting; It seems like the combination of additional cores, increased IPC and higher clock speed has really provided a boost to things, even the single-core workloads. Both my PHPunit test runs and video renders are now double as fast. This especially surprised me for the PHPUnit run in series, which is mostly single-threaded, but I think this is maybe a compound effect of both PHP and the underlying MySQL database both running much quicker.
Battlefield shows improved results, especially in multiplayer 1% lows which is probably the most important for me. Game-play is a lot smoother as the system better floats the 60fps target. Interestingly, i still have about the same GPU utilization as before, making me think the CPU was a limiting factor but maybe not bottle-necking the GPU, could be something else. I’ll play around with increasing GPU settings to make better use of things.
Overall, I’m pretty happy with the upgrade, should keep the system going considerably longer. Of course I’m enjoying the main benefit: Seeing those extra graphs in htop and task manager.