Excel 2007 multi-threaded calculation boosts performance

Some mention of this was made on the Excel blog about the performance improvements that can be derived from Excel 2007 due to the new multi-threading capability but I don't think people are aware of what a huge difference this can make.

A quick overview on excel multi threaded calculation can be found here:

To a large number of customers, Excel’s calculation speed is extremely important – perhaps the most important “feature” we ship.  When planning Excel 12, we started a small investigation to look at different ways we could make Excel calculate faster on computers that had multi-processor or dual-core chips.  The investigation turned out to be promising, so we continued the work, and the result is a very exciting feature that we refer to as multi-threaded calculation, or MTC.  (Note – this is another working name, not a final name.  Also note that our developers refer to this as MTR, or multi-threaded recalculation, but since most customers use the word calculation, I have decided to go that route for this post.)

In a nutshell, this feature enables Excel to spot formulas that can be calculated concurrently, and then run those formulas on multiple processors simultaneously.  The net effect is that a given spreadsheet finishes calculating in less time, improving Excel’s overall calculation performance.  Excel 12 can take advantage of as many processors (or cores, which to Excel appear as processors) as there are on a machine - when Excel loads a workbook, it asks the operating system how many processors are available, and it creates a thread for each processor.  In general, the more processors, the better the performance improvement.

I came across a good example of this from a company, MB Risk Management, who make add-ins for excel for the derivatives trading market.  In their own words:

MB Risk Management (MBRM), developers of the world-famous UNIVERSAL™ Add-ins. With 30,000+ users world-wide, the UNIVERSAL Add-ins are the most widely-used derivative software for Trading, Risk Management and Arbitrage (Convertibles; Bonds; Exotics; Options; Futures; Swaps).

They are boasting massive performance boosts on 2007 Excel on dual core machines due to the support for multi threaded. 

Time to recalculate MBRM UNIVOPT benchmark speed test spreadsheet

Test 1: Single core machine

Using Excel 2003 69.5sec.

Using Excel 2007 69.5sec.

Test 2: Dual-core machine

Using Excel 2003 88.97sec

Using Excel 2007 with 1 calculation thread 88.8sec.

Using Excel 2007 with 2 calculation thread 45.74sec.

Using Excel 2007 with 3 calculation thread 45.03sec.