CPU Tests: Legacy and Web

In order to gather data to compare with older benchmarks, we are still keeping a number of tests under our ‘legacy’ section. This includes all the former major versions of CineBench (R15, R11.5, R10) as well as x264 HD 3.0 and the first very naïve version of 3DPM v2.1. We won’t be transferring the data over from the old testing into Bench, otherwise it would be populated with 200 CPUs with only one data point, so it will fill up as we test more CPUs like the others.

The other section here is our web tests.

Web Tests: Kraken, Octane, and Speedometer

Benchmarking using web tools is always a bit difficult. Browsers change almost daily, and the way the web is used changes even quicker. While there is some scope for advanced computational based benchmarks, most users care about responsiveness, which requires a strong back-end to work quickly to provide on the front-end. The benchmarks we chose for our web tests are essentially industry standards – at least once upon a time.

It should be noted that for each test, the browser is closed and re-opened a new with a fresh cache. We use a fixed Chromium version for our tests with the update capabilities removed to ensure consistency.

Mozilla Kraken 1.1

Kraken is a 2010 benchmark from Mozilla and does a series of JavaScript tests. These tests are a little more involved than previous tests, looking at artificial intelligence, audio manipulation, image manipulation, json parsing, and cryptographic functions. The benchmark starts with an initial download of data for the audio and imaging, and then runs through 10 times giving a timed result.

Automation involves loading the direct webpage where the test is run and putting it through. All CPUs finish the test in under a couple of minutes, so we put that as the end point and copy the page contents into the clipboard before parsing the result. Each run of the test on most CPUs takes from half-a-second to a few seconds

(7-1) Kraken 1.1 Web Test

We loop through the 10-run test four times (so that’s a total of 40 runs), and average the four end-results. The result is given as time to complete the test, and we’re reaching a slow asymptotic limit with regards the highest IPC processors.

Google Octane 2.0

Our second test is also JavaScript based, but uses a lot more variation of newer JS techniques, such as object-oriented programming, kernel simulation, object creation/destruction, garbage collection, array manipulations, compiler latency and code execution.

Octane was developed after the discontinuation of other tests, with the goal of being more web-like than previous tests. It has been a popular benchmark, making it an obvious target for optimizations in the JavaScript engines. Ultimately it was retired in early 2017 due to this, although it is still widely used as a tool to determine general CPU performance in a number of web tasks.

Octane’s automation is a little different than the others: there is no direct website to go to in order to run the benchmark. The benchmark page is opened, but the user has to navigate to the ‘start’ button or open the console and initiate the JavaScript required to run the test. The test also does not show an obvious end-point, but luckily does try and aim for a fixed time for each processor. This is similar to some of our other tests, that loop around a fixed time before ending. Unfortunately this doesn’t work if the first loop goes beyond that fixed time, as the loop still has to finish. For Octane, we have set it to 75 seconds per run, and we loop the whole test four times.

(7-2) Google Octane 2.0 Web Test

It is worth noting that in the last couple of Intel generations, there was a significant uptick in performance for Intel, likely due to one of the optimizations from the code base that filtered through into the microarchitecture. Octane is still an interesting comparison point for systems within a similar microarchitecture scope.

Speedometer 2: JavaScript Frameworks

Our newest web test is Speedometer 2, which is a test over a series of JavaScript frameworks to do three simple things: built a list, enable each item in the list, and remove the list. All the frameworks implement the same visual cues, but obviously apply them from different coding angles.

Our test goes through the list of frameworks, and produces a final score indicative of ‘rpm’, one of the benchmarks internal metrics. Rather than use the main interface, we go to the admin interface through the about page and manage the results there. It involves saving the webpage when the test is complete and parsing the final result.

We repeat over the benchmark for a dozen loops, taking the average of the last five.

(7-3) Speedometer 2.0 Web Test

CPU Tests: Encoding CPU Tests: Synthetic
Comments Locked

110 Comments

View All Comments

  • 29a - Monday, July 20, 2020 - link

    Please remove Egomark from the benchmark list.
  • Meteor2 - Monday, August 3, 2020 - link

    Why?
  • Mr Perfect - Monday, July 20, 2020 - link

    Reading through the OS preparation section, I kind of wonder if setting up a domain would be helpful?

    Joining a test PC to a domain would allow all of those settings to be configured through GPO instead of running tons of batch files and scripts. You'd also gain the ability to point Windows Update at a WSUS server, where you control what updates are even shown to the PC (in your case, probably none). Throw in the ability to remotely run scripts with Domain Administrator accounts, and you could probably skip around those UAC prompts too.

    It would be a lot of setup the first time around, but it does point to that automation-eventually-pays-off thing.
  • Icehawk - Monday, July 20, 2020 - link

    Very cool!

    Would like to see your handbrake HEVC encoding done via software with no vendor encoder - it’s the only way you guys can be getting those crazy fps numbers. I don’t want to see how a vendor encoder runs, I want to see how the CPU runs - and those hardware ones are still worse than software so I do not use them even though it is a massive speed boost.
  • extide - Monday, July 20, 2020 - link

    Using vector instructions like AVX is still "software" encoding. It's fully CPU, and not at all a lower quality hardware encoder.
  • faizoff - Monday, July 20, 2020 - link

    Until I upgraded from an HD 6870 to an RX 580 recently I had no idea GPUs had dedicated encoders. I've tried them and they are definitely faster than the CPU, the same file that I tried got well over 40 fps compared to the 5 fps when choosing the CPU encoder.

    The caveat was that the GPU encoded files were much larger in size with comparable quality.
  • lmcd - Tuesday, July 21, 2020 - link

    There's ways to push file size back down afaik.
  • Meteor2 - Monday, August 3, 2020 - link

    Not with hardware encoding.
  • jaminvi - Monday, July 20, 2020 - link

    Looks great from here. Good cross section of test. Looking forward to it.
  • catavalon21 - Monday, July 20, 2020 - link

    This is outstanding. Very much like the stuff on this site back in this site's early days, like comparing Pentium performance with and without MMX. Comparing the performance between VX and HX chipsets. Tip of the hat, old man.

Log in

Don't have an account? Sign up now