CPU Tests: Encoding

One of the interesting elements on modern processors is encoding performance. This covers two main areas: encryption/decryption for secure data transfer, and video transcoding from one video format to another.

In the encrypt/decrypt scenario, how data is transferred and by what mechanism is pertinent to on-the-fly encryption of sensitive data - a process by which more modern devices are leaning to for software security.

Video transcoding as a tool to adjust the quality, file size and resolution of a video file has boomed in recent years, such as providing the optimum video for devices before consumption, or for game streamers who are wanting to upload the output from their video camera in real-time. As we move into live 3D video, this task will only get more strenuous, and it turns out that the performance of certain algorithms is a function of the input/output of the content.

HandBrake 1.32: Link

Video transcoding (both encode and decode) is a hot topic in performance metrics as more and more content is being created. First consideration is the standard in which the video is encoded, which can be lossless or lossy, trade performance for file-size, trade quality for file-size, or all of the above can increase encoding rates to help accelerate decoding rates. Alongside Google's favorite codecs, VP9 and AV1, there are others that are prominent: H264, the older codec, is practically everywhere and is designed to be optimized for 1080p video, and HEVC (or H.265) that is aimed to provide the same quality as H264 but at a lower file-size (or better quality for the same size). HEVC is important as 4K is streamed over the air, meaning less bits need to be transferred for the same quality content. There are other codecs coming to market designed for specific use cases all the time.

Handbrake is a favored tool for transcoding, with the later versions using copious amounts of newer APIs to take advantage of co-processors, like GPUs. It is available on Windows via an interface or can be accessed through the command-line, with the latter making our testing easier, with a redirection operator for the console output.

Finding the right combination of tests to use in our Handbrake benchmark is often difficult. There is no one test that covers all scenarios – streamers have different demands to production houses, then there’s video call transcoding that also requires some measure of CPU performance.

This time around, we’re probing a range of quality settings that seem to fit a number of scenarios. We take the compiled version of this 16-minute YouTube video about Russian CPUs at 1080p30 h264 and convert into three different files:

  1. 1080p30 to 480p30 ‘Discord’: x264, Max Rate 2100 kbps, High Profile 4.0, Medium Preset, 30 Peak FPS
  2. 1080p30 to 720p30 ‘YouTube’: x264, Max Rate 25000 kbps, High Profile 3.2, Medium Preset, 30 Peak FPS
  3. 1080p30 to 4K60 ‘HEVC’: H.265, Quality 24, Auto Profile, Slow Preset, 60 Peak FPS

These three presets, starting from the same source video, give a scaling set of results showing what might be best for video chat (1), streaming (2), or upconverting offline (3). We will see most CPUs can manage (1) in realtime, (2) might be a challenge, and (3) is only for the expensive systems.

(5-1a) Handbrake 1.3.2, 1080p30 H264 to 480p Discord(5-1b) Handbrake 1.3.2, 1080p30 H264 to 720p YouTube(5-1c) Handbrake 1.3.2, 1080p30 H264 to 4K60 HEVC

This is one of our longer tests, with a good system taking between 30-60 minutes and slow systems taking several hours. The LQ test typically favors a good single thread speed due to the low amount of memory per frame, while the HEVC test can spread out to more cores and favors big and fast caches as well as good memory.

7-Zip 1900: Link

The first compression benchmark tool we use is the open-source 7-zip, which typically offers good scaling across multiple cores. 7-zip is the compression tool most cited by readers as one they would rather see benchmarks on, and the program includes a built-in benchmark tool for both compression and decompression.

The tool can either be run from inside the software or through the command line. We take the latter route as it is easier to automate, obtain results, and put through our process. The command line flags available offer an option for repeated runs, and the output provides the average automatically through the console. We direct this output into a text file and regex the required values for compression, decompression, and a combined score.

(5-2a) 7-Zip 1900 Compression(5-2b) 7-Zip 1900 Decompression(5-2c) 7-Zip 1900 Combined Score

Ultimately this is more of a synthetic benchmark test. We perform a real-world test using WinRAR.

AES Encoding

Algorithms using AES coding have spread far and wide as a ubiquitous tool for encryption. Again, this is another CPU limited test, and modern CPUs have special AES pathways to accelerate their performance. We often see scaling in both frequency and cores with this benchmark. We use the latest version of TrueCrypt and run its benchmark mode over 1GB of in-DRAM data. Results shown are the GB/s average of encryption and decryption.

For automating this test, it becomes one of the most annoying tests. There is no easy way to automate aside from loading the software and emulating keyboard button presses (with enough time between each button press to ensure even the slowest system has enough time). There is no obvious end-point for the benchmark, so we have to have a fixed point to cater for all CPUs (in this case, 240 seconds, even though the fastest CPUs can be done in under 10 second), and the results are listed in a table which makes it hard to get the information from. To get this information, we end up taking a localized screenshot into the clipboard, and saving that file in our results directory. The final result has to be read from the image, and put into the database, manually.

(5-3) AES Encoding

At this point we're not sure why the 3900XT doesn't do better on this test, as we believe it should be nearer 13.5-14.0 GB/s. Needs more investigation.

Despite the TrueCrypt software having ended its development, it still leaves us with a good general test for AES (and other cryptography algorithms). The results typically scale across cores and frequency, with the newest processors having AES accelerators that push the results almost to the maximum bandwidth of the DRAM.

WinRAR 5.90: Link

For the 2020 test suite, we move to the latest version of WinRAR in our compression test. WinRAR in some quarters is more user friendly that 7-Zip, hence its inclusion. Rather than use a benchmark mode as we did with 7-Zip, here we take a set of files representative of a generic stack

  • 33 video files , each 30 seconds, in 1.37 GB,
  • 2834 smaller website files in 370 folders in 150 MB,
  • 100 Beat Saber music tracks and input files, for 451 MB

This is a mixture of compressible and incompressible formats. The results shown are the time taken to encode the file. Due to DRAM caching, we run the test for 20 minutes times and take the average of the last five runs when the benchmark is in a steady state.

For automation, we use AHK’s internal timing tools from initiating the workload until the window closes signifying the end. This means the results are contained within AHK, with an average of the last 5 results being easy enough to calculate.

(5-4) WinRAR 5.90 Test, 3476 files, 1.96 GB

Along with single-core frequency, WinRAR benefits a lot from memory bandwidth as well as cache type. We have seen in past that the eDRAM enabled processors give a good benefit to software like WinRAR, and it is usually where we see the biggest DRAM differences.

CPU Tests: Rendering CPU Tests: Legacy and Web
Comments Locked

110 Comments

View All Comments

  • vasily - Monday, July 20, 2020 - link

    You might want to check out Phoronix Test Suite and openbenchmarking.org.

    https://www.phoronix-test-suite.com/
    https://openbenchmarking.org/
  • colinisation - Monday, July 20, 2020 - link

    would love to see the following processors added
    5775C (overclocked to 4Ghz) - just purely to see what impact the eDRAM has on workloads
    4770K
    7600K

    Phenom II X4
    Highest Bulldozer core

    VIA's highest performance x86 core
  • faizoff - Monday, July 20, 2020 - link

    What a gargantuan project this is going to be. And I cannot wait, oddly enough I've been using the bench tool the past few weeks to get a sense of how much difference an upgrade for me would make.

    I am probably one of the many (or few) people that have still held on to their i5 2500k and this is one of the places I can select that CPU and compare the benchmarks with newer releases.

    This project looks to be an amazing read once all done and will be especially looking forward to those segments "how well does x CPU run today?"
  • Alim345 - Monday, July 20, 2020 - link

    Are you going to make benchmark scripts available? They should be useful for individual comparisons, since many users might have overclocked CPUs which were more common in 2010-2015.
  • brantron - Monday, July 20, 2020 - link

    Just to fill out the starting set:

    7700K needs a common AMD counterpart, i.e. Ryzen 2600
    Sandy or Ivy Bridge i7
    Haswell i7

    That would also make for a good article, as it should be possible to overclock any of those to ~4.5 GHz for a more apples to apples comparison.
  • StormyParis - Monday, July 20, 2020 - link

    Thank you for that. My main question is not "what should I buy" because that's always very well covered, and on a fixed budget there's never much choice anyway, but "should I upgrade *now* which is only worth it when last time's amount of money gets you at least 2x performance. I'ive got a 7yo Core i5... I'll look into it !
  • eastcoast_pete - Monday, July 20, 2020 - link

    Ian, thanks for this!
    One aspect I've wondered about for a while is whether you could include performance/Watt in your tests and comparisons going forward? I know that's usually done for server CPUs, but I also find it of interest for desktop and laptop CPUs.
  • thebigteam - Monday, July 20, 2020 - link

    I think I have the below list of Intel CPUs available if needed, likely with working mobos too. Would be very happy to clean out the closet and get these to you guys :) Likely some 2009/2010 Athlons as well
    E8400
    i3 530
    i3 540
    i5 760
    i5 2500
    i5 4670K
  • inighthawki - Monday, July 20, 2020 - link

    Thank you so much for changing your gaming benchmark methodology. I tend to play my games at 1440p on lowest settings for maximum framerates, which is far more often than not CPU bound. It was always so annoying seeing the benchmarks be GPU bound when I'm trying to see how much a new CPU helps.
  • Smell This - Monday, July 20, 2020 - link

    Chicken
    (lol)

    With AM3, AM2+ and AM2 processors, AM3+ processors broke backwards-compatibility.

    A mobo like the MSI 790FX K9A2 Platinum transitioned nearly 250 processors from S754-939, to AM2-AM3, beginning with the single-core Athlon 64 3000+ 'Orleans' up to the PhII x6 DDR3 Thubans.

    These were the progeny of the K8 or 'Hammer' projects. A Real Man would never leave them behind ...

    https://www.cpu-upgrade.com/mb-MSI/K9A2_Platinum_%...

Log in

Don't have an account? Sign up now