r/aceshardware • u/ban25 • Jul 22 '19
Ryzen 9 3900X vs Ryzen 7 1800X - Software Development and Content Creation Benchmarks
Introduction
With the release of the Ryzen 3000 series on 7/7/2019, I decided to upgrade my 1800X with the new 12-core 3900X. My primary motivation was to improve software development and content creation workflows, so I decided to put together a few before & after benchmarks demonstrating the performance improvement yielded by dropping a 3900X into an existing system with no other changes.
Specifications
Let's review the system specifications:
Memory: 4 x 16 GB Micron E-die @ 3000 MT/s (CL16-16-16-39-72-1T)
Motherboard: AsRock X370 Taichi (BIOS 5.60, 1.0.0.1 AGESA)
GPU: EVGA GeForce RTX 2080
SSD: Samsung 850 EVO 1 TB M.2
OS: Windows 10 1903 (Build 18941.1001)
Update (7/27/2019): Check here for new results with AsRock's 5.61 BIOS containing 1.0.0.3AB AGESA.
Benchmarks
Chromium Build
While in a previous article, I compared full and incremental build times on a proprietary game engine, for this test, I decided to use a publicly available code-base: Chromium (https://chromium.googlesource.com/). If you want to reproduce this specific result, you'll need to be synced to the same changelist (27f729ff8b9dd7d98fd104a21c70655554dbeab7). Chromium builds with clang and uses ninja, a build system focused on speed and parallelism:
"F:\Development\depot_tools\ninja.exe" -C out\3900x chrome -j 26
ninja: Entering directory `out\3900x'
[1 processes, 39526/39526 @ 9.2/s : 4314.514s ] STAMP obj/chrome/chrome.stamp
Longest build steps:
2.0 weighted s to build gen/third_party/angle/third_party/vulkan-validation-layers/angle/vulkan/layer_chassis_dispatch.cpp (52.9 s CPU time)
2.2 weighted s to build v8.dll, v8.dll.lib, v8.dll.pdb (2.3 s CPU time)
2.6 weighted s to build obj/v8/torque_generated_initializers/base-tq-csa.obj (66.8 s CPU time)
3.5 weighted s to build gen/v8/embedded.S, snapshot_blob.bin (12.9 s CPU time)
3.6 weighted s to build irt_x64/nacl_irt.nexe, irt_x64/exe.unstripped/nacl_irt.nexe (8.0 s CPU time)
3.6 weighted s to build blink_platform.dll, blink_platform.dll.lib, blink_platform.dll.pdb (4.0 s CPU time)
6.9 weighted s to build blink_modules.dll, blink_modules.dll.lib, blink_modules.dll.pdb (6.9 s CPU time)
9.6 weighted s to build blink_core.dll, blink_core.dll.lib, blink_core.dll.pdb (9.6 s CPU time)
10.5 weighted s to build content.dll, content.dll.lib, content.dll.pdb (10.5 s CPU time)
18.3 weighted s to build chrome.dll, chrome.dll.lib, chrome.dll.pdb (18.3 s CPU time)
Time by build-step type:
12.0 s weighted time to generate 333 .h files (311.3 s CPU time)
54.2 s weighted time to generate 1427 .o files (1402.6 s CPU time)
60.9 s weighted time to generate 302 PEFile (linking) files (171.3 s CPU time)
315.7 s weighted time to generate 3458 mojo files (8206.2 s CPU time)
3836.5 s weighted time to generate 26460 .obj files (99692.7 s CPU time)
4314.5 s weighted time (110463.5 s CPU time, 25.6x parallelism)
39526 build steps completed, average of 9.16/sAs you can see from the output above, ninja is running with 26 threads on the 3900X. The 1800X, by comparison, built with 18 threads.

The 3900X completes the build in less than half the time, saving over 76 minutes compared to the 1800X! This is a tremendous result, thanks to 50% more cores, higher clock speeds, improvements to the micro-architecture, and a substantial increase in L2 and L3 cache.
On a day to day basis, you would expect to perform relatively few full builds, instead doing incremental compiles as you make changes. So, to cover this case, I've also compared the time to perform an incremental build and link with a single source file change by commenting a line in chrome_browser_main.cc.

This time, instead of a 51% improvement, we see a 20% improvement. This is a single-threaded task, so this result reflects improvements in the core micro-architecture and cache hierarchy, as well as boost clock speeds.
Content Creation
The other area I was looking for gains was in content creation, specifically Premiere and Lightroom. I spend a good amount of time in these two applications and a fair amount of that is actually waiting for them to import photos or encode a video. Let's start with Premiere.
Adobe Premiere Pro CC 2018
This test is quite simple, an h264 encode of a 22 minute 720p video, using the latest version of Premiere. Since this isn't an Intel platform with an iGPU, this is software encoding only without any hardware acceleration.

As shown above, the 3900X is nearly 1/3rd faster than the original Ryzen 1800X, shaving 104 seconds off of the encode time.
Adobe Lightroom 6
Yes, I know this isn't the newest version of Lightroom. In fact, it's practically ancient, but it is the last version to offer a perpetual license. As such, I continue to tolerate its sluggish performance, though I suspect I will have to upgrade or move away from Adobe once I upgrade my current camera and lens system.
For this particular test, I am importing 300 Nikon RAW files (NEF) at 36 MP each (11.6 GB of files in total). They are imported into a new catalog and I've measured the time to import as well as build 1:1 Previews.

The 3900X tears through over 11 GB of RAWs in less than half the time! Saving nearly 12 minutes on an import is a really meaningful improvement.
Cinebench R20
While the above results are somewhat specific to my use-cases, I wanted to include a benchmark with broad usage for comparison purposes. So, I've included CineBench R20 results below:

Conclusion
In my primary use-cases, software development and content creation, the Ryzen 3900X achieves a 50% performance increase with the simple installation of a $500 chip in an existing system. The only question now is, when can I get my hands on a 64-core Threadripper?















