Multithreaded calculation in excel is slow Multithreaded calculation in excel is slow multithreading multithreading

Multithreaded calculation in excel is slow


  • Here's a great start to reading about Excel calculation performance: http://www.decisionmodels.com/calcsecretsc.htm.

  • You can mark an Excel-DNA function as thread-safe using an attribute like [ExcelFunction(IsThreadSafe=true)], though that doesn't sound like the bottleneck here. That will allow these functions to be evaluated concurrently.

  • If your i7 processor has hyper-threading (so it reports 4 cores to Windows but actually has only two real cores), then it can be faster to set the Excel number of threads to the number of cores (say 2) instead of the number of threads the processor can run (which would be the Excel default - maybe 4).


Its very unusual for multi-threaded calculation to be slower than single-threaded calculation.

Presumably you have switched calculation to Manual.

Are you using Sheet.Calculate on each sheet to "calculate the worksheets in sequence"? If so it would probably be faster to just use Application.Calculate and let Excel automagically work out the fastest way to recalculate all the sheets.