Multi Threading

Excel 2007 introduced the concept of multi-threaded recalculation of workbooks.
If a computer has multiple processors then the operating system will allocate the threads in the most efficient way.
Excel tries to identify parts of the calculation chain that can be recalculated concurrently on different threads.


When a workbook opens, the operating system determines how many processors are available and creates a separate calculation thread for each processor.
These threads can then run in parallel


The benefit of having multiple threads is directly related to the number of independent calculation trees (or formula chains) that you have in that workbook.
A workbook with one continuous chain of dependencies will not show any performance gain.


The level of improvement is workbook specific.
It depends on how many independent calculation trees each workbook contains
A workbook that contains one continuous chain of formulas will not see any improvement.
A workbook that contains several independent chains of formulas will show an improvement equivalent to the number of processors available.


Are there any Excel features that do not benefit from the multi-threaded capability ?
User defined functions written in VBA
User defined functions available through Automation add-ins
User defined functions available through XLL (unless they have been updated)
Cells in circular reference loops
Range.Calculate and Range.CalculateRowMajorOrder
Worksheet functions relating to pivot tables and cubes


SS - options - advanced - formulas


You can specify an exact number of calculation threads.
This number can be more than the number of processors on the computer.



Thread safe cell - A cell that only contains thread-safe functions.
Thread safe functions - All the built-in worksheet functions except: Cell, Indirect, GetPivotData, Address, Error.Type, Phonetic, Hyperlink, all the database functions (12) and all the cube functions (7), XLL functions registered as thread-safe, all unary and binary operators in Excel.
Not thread safe - VBA user defined functions, COM Add-in user defined functions, XLM macro sheet user defined functions, XLL functions not registered as thread-safe



© 2020 Better Solutions Limited. All Rights Reserved. © 2020 Better Solutions Limited TopPrevNext