CPU Performance: System Tests

Our System Test section focuses significantly on real-world testing, user experience, with a slight nod to throughput. In this section we cover application loading time, image processing, simple scientific physics, emulation, neural simulation, optimized compute, and 3D model development, with a combination of readily available and custom software. For some of these tests, the bigger suites such as PCMark do cover them (we publish those values in our office section), although multiple perspectives is always beneficial. In all our tests we will explain in-depth what is being tested, and how we are testing.

All of our benchmark results can also be found in our benchmark engine, Bench.

Application Load: GIMP 2.10.4

One of the most important aspects about user experience and workflow is how fast does a system respond. A good test of this is to see how long it takes for an application to load. Most applications these days, when on an SSD, load fairly instantly, however some office tools require asset pre-loading before being available. Most operating systems employ caching as well, so when certain software is loaded repeatedly (web browser, office tools), then can be initialized much quicker.

In our last suite, we tested how long it took to load a large PDF in Adobe Acrobat. Unfortunately this test was a nightmare to program for, and didn’t transfer over to Win10 RS3 easily. In the meantime we discovered an application that can automate this test, and we put it up against GIMP, a popular free open-source online photo editing tool, and the major alternative to Adobe Photoshop. We set it to load a large 50MB design template, and perform the load 10 times with 10 seconds in-between each. Due to caching, the first 3-5 results are often slower than the rest, and time to cache can be inconsistent, we take the average of the last five results to show CPU processing on cached loading.

AppTimer: GIMP 2.10.4

Not much difference here between the i5-8400 and the Ryzen 5 3600.

3D Particle Movement v2.1: Brownian Motion

Our 3DPM test is a custom built benchmark designed to simulate six different particle movement algorithms of points in a 3D space. The algorithms were developed as part of my PhD., and while ultimately perform best on a GPU, provide a good idea on how instruction streams are interpreted by different microarchitectures.

A key part of the algorithms is the random number generation – we use relatively fast generation which ends up implementing dependency chains in the code. The upgrade over the naïve first version of this code solved for false sharing in the caches, a major bottleneck. We are also looking at AVX2 and AVX512 versions of this benchmark for future reviews.

For this test, we run a stock particle set over the six algorithms for 20 seconds apiece, with 10 second pauses, and report the total rate of particle movement, in millions of operations (movements) per second. We have a non-AVX version and an AVX version, with the latter implementing AVX512 and AVX2 where possible.

3DPM v2.1 can be downloaded from our server: 3DPMv2.1.rar (13.0 MB)

3D Particle Movement v2.1

3D Particle Movement v2.1 (with AVX)

The core deficit comes on strong in 3DPM.

Dolphin 5.0: Console Emulation

One of the popular requested tests in our suite is to do with console emulation. Being able to pick up a game from an older system and run it as expected depends on the overhead of the emulator: it takes a significantly more powerful x86 system to be able to accurately emulate an older non-x86 console, especially if code for that console was made to abuse certain physical bugs in the hardware.

For our test, we use the popular Dolphin emulation software, and run a compute project through it to determine how close to a standard console system our processors can emulate. In this test, a Nintendo Wii would take around 1050 seconds.

The latest version of Dolphin can be downloaded from https://dolphin-emu.org/

Dolphin 5.0 Render Test

The Ryzen 5 3600 has better single threaded performance, and so the Dolphin emulation scores better with AMD.

DigiCortex 1.20: Sea Slug Brain Simulation

This benchmark was originally designed for simulation and visualization of neuron and synapse activity, as is commonly found in the brain. The software comes with a variety of benchmark modes, and we take the small benchmark which runs a 32k neuron / 1.8B synapse simulation, equivalent to a Sea Slug.

Example of a 2.1B neuron simulation

We report the results as the ability to simulate the data as a fraction of real-time, so anything above a ‘one’ is suitable for real-time work. Out of the two modes, a ‘non-firing’ mode which is DRAM heavy and a ‘firing’ mode which has CPU work, we choose the latter. Despite this, the benchmark is still affected by DRAM speed a fair amount.

DigiCortex can be downloaded from http://www.digicortex.net/

DigiCortex 1.20 (32k Neuron, 1.8B Synapse)

Dual DDR4-2666 doesn't mode well for the Intel processor.

y-Cruncher v0.7.6: Microarchitecture Optimized Compute

I’ve known about y-Cruncher for a while, as a tool to help compute various mathematical constants, but it wasn’t until I began talking with its developer, Alex Yee, a researcher from NWU and now software optimization developer, that I realized that he has optimized the software like crazy to get the best performance. Naturally, any simulation that can take 20+ days can benefit from a 1% performance increase! Alex started y-cruncher as a high-school project, but it is now at a state where Alex is keeping it up to date to take advantage of the latest instruction sets before they are even made available in hardware.

For our test we run y-cruncher v0.7.6 through all the different optimized variants of the binary, single threaded and multi-threaded, including the AVX-512 optimized binaries. The test is to calculate 250m digits of Pi, and we use the single threaded and multi-threaded versions of this test.

Users can download y-cruncher from Alex’s website: http://www.numberworld.org/y-cruncher/

y-Cruncher 0.7.6 Single Thread, 250m Digitsy-Cruncher 0.7.6 Multi-Thread, 250m Digits

While almost similar in AVX2 in ST mode, the lack of threads again hurts the i5-8400, giving the win to the Ryzen 5 3600. Zen 2 does well here.

Agisoft Photoscan 1.3.3: 2D Image to 3D Model Conversion

One of the ISVs that we have worked with for a number of years is Agisoft, who develop software called PhotoScan that transforms a number of 2D images into a 3D model. This is an important tool in model development and archiving, and relies on a number of single threaded and multi-threaded algorithms to go from one side of the computation to the other.

In our test, we take v1.3.3 of the software with a good sized data set of 84 x 18 megapixel photos and push it through a reasonably fast variant of the algorithms, but is still more stringent than our 2017 test. We report the total time to complete the process.

Agisoft’s Photoscan website can be found here: http://www.agisoft.com/

Agisoft Photoscan 1.3.3, Complex Test

Test Bed and Setup CPU Performance: Rendering Tests
Comments Locked

114 Comments

View All Comments

  • vortmax2 - Monday, May 18, 2020 - link

    Anyone know why the 3300X is at the top of the Digicortex 1.20 bench?
  • gouthamravee - Monday, May 18, 2020 - link

    I'm guessing here, but the 3300X has all its cores on a single CCX and if Digicortex is one of those benches that's highly dependent on latency that could explain why the 3300X is at the top of the list here.

    I checked the previous 3300x article and it seems to be the same story there.
  • wolfesteinabhi - Monday, May 18, 2020 - link

    Thanks for a great Article Ian and AT.

    the main problem with mid/lower range CPU (review) like this Ryzen 3600/X and even i5/i3's is that their reviews are almost always focused on "Gaming" (for some reason everything budget oriented is just gaming) ... no one talks about AI workloads or MATLABs, Tensorflows,etc many people and developers dont want to shell out monies for 2080Ti and Ryzen 9 3950X or even TR's .... they have to make do with lower end or say "reasonable" CPU's ... and products like these Ryzen 5 that makes sensible choice in this segment ... a developer/learner on budget.

    a lot of people would appreciate if there are some more pages dedicated to such development workflows (AI,Tensor,compile, etc) even for such mid range CPU's.
  • DanNeely - Monday, May 18, 2020 - link

    Ian periodically tweets requests for scriptable benchmarks for those categories and for anyone with connections at commercial vendors in those spaces who can provide evaluation licenses for commercial products. He's gotten minimal uptake on the former and doesn't have time to learn enough about $industry to create a reasonable benchmark from scratch using their FOSS tools. On the commercial side, the various engineering software companies don't care about reviews from sites like this one and their PR contacts can't/won't give out licenses.
  • webdoctors - Monday, May 18, 2020 - link

    Because office tasks don't require any computation, and gaming is what's most mainstream that actually requires computation.

    Scientific stuff like MATLAB, Folding@Home needs computation but if that's useful you'd just buy the higher end parts. Price diff between 3600x and 3700x (6 vs 8core) is $100, $200 vs $300 at retail prices. For someone working, $100 is nothing for improving your commercial or academic output. These are parts you use for 5+ years.

    I agree a TR doesnt make sense if you can get the consumer version like a 3800x much cheaper.
  • Impetuous - Monday, May 18, 2020 - link

    Logged in to second this. I think a lot of students and professionals like me who do research on-the-side (and are on pretty tight Grants/allowances) would appreciate a MATLAB benchmark. This looks like a great option for a grad student workstation!
  • brucethemoose - Monday, May 18, 2020 - link

    I think one MKL TF benchmark is enough, as you'd have to be crazy to buy a 3600 over a cheap GPU for AI training training. If money is that tight, you're probably not buying a new system and/or using Google Colab.

    +1 for more compilation benchmarking. I'd like a Python benchmark too, if theres any demand for such a thing.
  • PeachNCream - Monday, May 18, 2020 - link

    A lot of people don't have money to throw away at hardware, moreso now than ever before so we are going to make older equipment work for longer or buy less compute at a lower price. It's important to get hardware out of its comfort zone because these general purpose processors will be used in all sorts of ways beyond a narrow set of games and unzipping a huge archive file. After all, if you want to play games, buying as much GPU as you can afford and then feeding it enough power solves the problem for the most part. That answer has been the case for years so we really don't need more text and time spent on telling us that. Say it once for each new generation and then get to reviewing hardware more relevant to how people actually use their computers.
  • jabber - Tuesday, May 19, 2020 - link

    Plus most of us don't upgrade hardware as much as we used to. back in the day (single core days) I was upgrading my CPU every 6-8 months. Each upgrade pushed the graphics from 28FPS to 32FPS to 36FPS which made a difference. Now with modest setups pushing past 60FPS...why bother. I upgrade my CPU every 6 years or so now.
  • wolfesteinabhi - Tuesday, May 19, 2020 - link

    as i said in one of the replies below... maybe TF is not a good example ..but its not like it will be purely on a CPU for TF work, but some benchmark around it ...and similar other work/development related tasks.

    Most of us have to depend on these gaming only benchmarks to guesstimate how good/bad a cpu will be for dev work. maybe a fewer core cpu might have been better with extra cache and extra clocks or vice versa ... but almost no reviews tell that kind of story for mid/low range CPU's.... having said that..i dont expect that kind of analysis from dual cores and such CPU ..but higherup there are a lot of CPU that can be made to do a lot of good job even beyond gaming (even if it needs to pair up with some GPU)

Log in

Don't have an account? Sign up now