HEDT Performance: Web and Legacy Tests

While more the focus of low-end and small form factor systems, web-based benchmarks are notoriously difficult to standardize. Modern web browsers are frequently updated, with no recourse to disable those updates, and as such there is difficulty in keeping a common platform. The fast paced nature of browser development means that version numbers (and performance) can change from week to week. Despite this, web tests are often a good measure of user experience: a lot of what most office work is today revolves around web applications, particularly email and office apps, but also interfaces and development environments. Our web tests include some of the industry standard tests, as well as a few popular but older tests.

We have also included our legacy benchmarks in this section, representing a stack of older code for popular benchmarks.

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

WebXPRT 3: Modern Real-World Web Tasks, including AI

The company behind the XPRT test suites, Principled Technologies, has recently released the latest web-test, and rather than attach a year to the name have just called it ‘3’. This latest test (as we started the suite) has built upon and developed the ethos of previous tests: user interaction, office compute, graph generation, list sorting, HTML5, image manipulation, and even goes as far as some AI testing.

For our benchmark, we run the standard test which goes through the benchmark list seven times and provides a final result. We run this standard test four times, and take an average.

Users can access the WebXPRT test at http://principledtechnologies.com/benchmarkxprt/webxprt/

WebXPRT 3 (2018)

WebXPRT 2015: HTML5 and Javascript Web UX Testing

The older version of WebXPRT is the 2015 edition, which focuses on a slightly different set of web technologies and frameworks that are in use today. This is still a relevant test, especially for users interacting with not-the-latest web applications in the market, of which there are a lot. Web framework development is often very quick but with high turnover, meaning that frameworks are quickly developed, built-upon, used, and then developers move on to the next, and adjusting an application to a new framework is a difficult arduous task, especially with rapid development cycles. This leaves a lot of applications as ‘fixed-in-time’, and relevant to user experience for many years.

Similar to WebXPRT3, the main benchmark is a sectional run repeated seven times, with a final score. We repeat the whole thing four times, and average those final scores.

WebXPRT15

Speedometer 2: JavaScript Frameworks

Our newest web test is Speedometer 2, which is a accrued 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. We report this final score.

Speedometer 2

Google Octane 2.0: Core Web Compute

A popular web test for several years, but now no longer being updated, is Octane, developed by Google. Version 2.0 of the test performs the best part of two-dozen compute related tasks, such as regular expressions, cryptography, ray tracing, emulation, and Navier-Stokes physics calculations.

The test gives each sub-test a score and produces a geometric mean of the set as a final result. We run the full benchmark four times, and average the final results.

Google Octane 2.0

Mozilla Kraken 1.1: Core Web Compute

Even older than Octane is Kraken, this time developed by Mozilla. This is an older test that does similar computational mechanics, such as audio processing or image filtering. Kraken seems to produce a highly variable result depending on the browser version, as it is a test that is keenly optimized for.

The main benchmark runs through each of the sub-tests ten times and produces an average time to completion for each loop, given in milliseconds. We run the full benchmark four times and take an average of the time taken.

Mozilla Kraken 1.1

3DPM v1: Naïve Code Variant of 3DPM v2.1

The first legacy test in the suite is the first version of our 3DPM benchmark. This is the ultimate naïve version of the code, as if it was written by scientist with no knowledge of how computer hardware, compilers, or optimization works (which in fact, it was at the start). This represents a large body of scientific simulation out in the wild, where getting the answer is more important than it being fast (getting a result in 4 days is acceptable if it’s correct, rather than sending someone away for a year to learn to code and getting the result in 5 minutes).

In this version, the only real optimization was in the compiler flags (-O2, -fp:fast), compiling it in release mode, and enabling OpenMP in the main compute loops. The loops were not configured for function size, and one of the key slowdowns is false sharing in the cache. It also has long dependency chains based on the random number generation, which leads to relatively poor performance on specific compute microarchitectures.

3DPM v1 can be downloaded with our 3DPM v2 code here: 3DPMv2.1.rar (13.0 MB)

3DPM v1 Single Threaded
3DPM v1 Multi-Threaded

x264 HD 3.0: Older Transcode Test

This transcoding test is super old, and was used by Anand back in the day of Pentium 4 and Athlon II processors. Here a standardized 720p video is transcoded with a two-pass conversion, with the benchmark showing the frames-per-second of each pass. This benchmark is single-threaded, and between some micro-architectures we seem to actually hit an instructions-per-clock wall.

x264 HD 3.0 Pass 1
x264 HD 3.0 Pass 2

HEDT Performance: Encoding Tests Gaming: World of Tanks enCore
Comments Locked

69 Comments

View All Comments

  • The Hardcard - Monday, October 29, 2018 - link

    I am not clear on this: can I get a 4-active-die TR for rendering and then turn off the 2 parasite dies when they are a disadvantage. Say make the 2990X operate as a 2950X with the same performance and power?

    I am not clear if that is what the dynamic local mode is offering. I’d like to be able to do that, whether there is an official AMD path, or if the community finds another way.
  • BikeDude - Monday, October 29, 2018 - link

    <blockquote>Please note, if you plan to share out the Compression graph, please include the Decompression one. Otherwise you’re only presenting half a picture.</blockquote>

    Many moons ago I made a request to internal IT to adopt 7-zip so that I could save on bandwidth whenever I needed to pull a largish database (this was several years before GDPR obviously).

    No go. It turned out that compressing the backups every night eats a lot of time. (decompressing these files was very fast regardless of setup) Well, actually they did use 7z.exe, but only as a normal zipper.

    So sometimes the only relevant part of the equation is the compression time. (I do plan on purchasing AMD regardless for my next upgrade)
  • GreenReaper - Wednesday, October 31, 2018 - link

    Use a threading-capable version of xz with the -T parameter so it uses all available threads and you'll find it flies on the default compression settings. It has a Windows version, too: https://tukaani.org/xz/
  • GreenReaper - Wednesday, October 31, 2018 - link

    Incidentally, you can probably run it something like xz < "input command" > output.xz, which should mean you don't actually have to write the dumps out, just the compressed version.
  • PaoDeTech - Monday, October 29, 2018 - link

    I need 13 cores and 26 threads. Now what? I returned the 32 cores 64 threads one since it could not run FAR CRY at 60fps. But boy could it blend! Sarcasm aside, I write multi-threaded server software and unless I code an infinite loop by mistake (I'm NOT admitting to it) I can never max out 8 threads before hitting I/O limitations (on NVMe PCIe disk). But I can see how some number crunching parallel software would go to town with it.
  • peevee - Wednesday, October 31, 2018 - link

    "I can never max out 8 threads before hitting I/O limitations (on NVMe PCIe disk)"

    Do you know these are IO limitations or do you assume this? Because lack of scaling after 8 threads does not mean IO limit at all. For example, if you write in Java/C#/Python/JS etc (heap-mandatory languages), or even use heap alloc/dealloc in critical thread sections in fast languages like C++, this is what you are going to get (heap mutex = no scalability). And this is just 1 of a thousand pitfalls of massive threading.
  • PaoDeTech - Thursday, November 1, 2018 - link

    No locks, every client call gets its own thread (REST- IIS -WebAPI -.NET "stateless" server - Entity Framework - SQL Server with read committed snapshot isolation). Async all the way down. Under load I can see the disk active >50% and write speed maxes out at 7 MB/s (Toshiba NVMe PCIe 1TB SSD M2). All processes running on the same PC (i7 6700k - 32GB RAM): server, test clients, SQL server. Plenty of free ram.
    Of course performance optimization is in the details and I was referring to a specific write intensive test case. My point is that parallel scaling is not easy and may stop sooner than expected (for many reasons). On the other hand, I can always use faster single thread performance...
  • 29a - Monday, October 29, 2018 - link

    Please replace EgoMark (3DPM) with something else, anything else.
  • danjw - Monday, October 29, 2018 - link

    Are there any motherboards out there that support the security features of the Threadripper platform?
  • SLVR - Monday, October 29, 2018 - link

    This review is a bit more useful: https://www.techspot.com/review/1737-amd-threadrip...

Log in

Don't have an account? Sign up now