BENCHMARK

WellsBeach-huts

Excel Speed Benchmark

Slow computers frustrate my workflow. When I instruct my machine to do something I want it to happen instantaneously. I want it to move as fast as I can think. Then I can get on to the next thing in my thought process. I don’t like waiting around for the computer to load, or save, or recalculate, or paste, or run a macro. So I’ve always been on a mission for fast hardware.

The speed of loading and saving files depends mainly on the non-volatile memory. That’s mechanical hard disks (HDD) and, more recently, the much faster solid state drives (SSD). Using an SSD is a no-brainer. And it’s not just loading and saving files, but other key operations like booting and loading applications that benefit.

Computational tasks, however, depend mainly on processor (CPU) instruction processing power and clock speed. Since most time spent in an application is computational, loading and saving being only occasional, I ensure I’m using a very fast CPU. Fortunately, as Moore’s Law infers, CPU capability has increased rapidly from inception. As I’ve witnessed over the decades since I used an original IBM PC in 1984, while working at Price Waterhouse in Auckland NZ.

Unless you measure it though, speed is just subjective and I appreciate precision. The main application I use in my work as an accountant, and need to operate quickly, is Excel. So to measure the actual relative speed of different CPUs I needed an effective benchmark. In my CREEK model I already had a base spreadsheet containing VBA macros that automated various processes covering a range of typical workloads: arithmetical calculation, row insertion, copy/pasting, data table etc. In 2013 I populated it with data and wrote a new master macro to call a sequence of the existing functional macros and display the total and average time for three loops. Then I launched it on the Anandtech website forum, inviting members to try out the benchmark and send me their times together with the respective CPU details.

Anandtech website forum

The chart below shows an (updated) sample of the results:

Excel-Speedtest-v1-chart01

What’s clear is that: CPU architecture has steadily accelerated in terms if IPC (instructions per cycle); clock speed brings proportionate benefits so overclocking desktop CPUs makes a difference; 4 physical cores is optimal – faster than both 2 and 6 physical; the hyper-threading of core i7 CPUs has no benefit over the equivalent core i5 in this test, which is highly single-threaded.

Use the button below to try the benchmark for yourself (V1).


For best results make sure your computer is fully started up, mains power is on for laptops, Windows Power Options is set to High Performance (so the CPU

runs flat out), the internet is disconnected (to avoid it trying to upgrade Windows at the same time), the file is re-loaded for each test (it slows down if you don’t), no other Excel files or indeed any other applications are loaded (to avoid distractions), you switch off multi-threading in Excel Options Advanced (MT is a big drag). I hope you find it useful.

To increase the single threaded workload further, I built up the same CREEK file with more content. So it’s three times as large as v1. And I re-wrote the master macro so it took exactly the same time to run as v1 on my i7-2700K Sandy Bridge chip. You can download v2 with the button below.

My observations on more recent architectures are that v2 takes up to 25% longer to run than v1. Which suggests that those architectures are, sadly, less efficient at single threaded workloads.

Building a Very High Performance PC

To achieve a low time in my Excel speedtest, and the many other benchmarks out there that test raw CPU power, graphics performance, memory speed etc, requires a fast computer. For me that means building my own custom PC, and upgrading the key components as improvements become available so I can benefit from ever increasing speed.

I’ve been building PCs for myself and my office since the Intel 80286 was the latest CPU chip, sometime in the mid-eighties, I think. The story of my current PC starts with a Dell XPS 710 bought in 2007. I rebuilt it in 2012 and have upgraded it several times since. I’ve posted a blog on this on the Anandtech forum.

DellXPS710-closed
DellXPS710-open

The fastest time I’ve recorded using my benchmark, shown in the chart above is 17.3 seconds, using an Intel i7-7700K running at 5.2GHz. I’ve since upgraded to an i7-8700K, but I’ve not yet beaten that time. One day I will!