Terrible recalculation speed on Ryzen processor

Occasional Contributor

Something has happened recently to my copy of Excel 2021.  Perhaps it is an update, I'm not sure.  My large spreadsheet model now takes 40 seconds to recalculate on my Ryzen 7 3700x, a 16 thread CPU.   Meanwhile, it takes 10 seconds on my old Intel 1.5Ghz Dell laptop with 4 threads.  Something is definitely going on here.    And before you quote time-saving hints and tips, this is something that has changed recently, and it is not my spreadsheet, which has not changed.   The time the Ryzen takes to re-calculate is absurd.  This is my work and something has definitely changed within Excel.   All updates have been installed on both computers. 

11 Replies
How many cores is Excel set to use during calculating? File, Options, Advanced tab, scroll down to the Formulas section
Thanks for the reply. It says use all processors on this computer: 16. Also says 16 threads in status bar when calculating. All add-ins are disabled as well. Also tried deleting and reinstalling with no improvement.

@ctz69 I would do the following:

- Open the offending file

- Make sure what is visible isn't sensitive information

- Click Help, Feedback, I don't like something

- Describe your issue as exact as you can, including the processor information and the fact that Excel says to use all of the cores

- Add your email address if you want MSFT to be able to contact you about this. They really sometimes do that!

After more experimentation, I found that if I disable multi-threaded calculations in the advanced options page, the recalculation time goes from 40 seconds to about 1 second. I don't want to speculative on why this happens. Thoughts of bloatware are going off in my mind. I've checked the calculations and all are accurate. Needless to say, I've disabled multi-threaded calculations in Excel. Perhaps this will help someone in the same situation in the future.
I've reported this to the Excel team.

Multi-threaded recalc occurs in 2 steps.

Step 1 works out how to allocate the calc between threads

Step 2 then actually does the calc.

 

Usually the results of previous Step 1 optimisations are used as a starting point for subsequent recalcs so the time taken to do step 1 diminishes on subsequent recalcs.

 

Difficult to make any sensible comments without looking at the actual workbook (would be happy to do that if possible)

 

Charles Williams

@ctz69 One thing to try is:

- Open workbook

- Set Excel back to automatically detect # of cores

- Hit control+shift+alt+F9 (this forces Excel to rebuild the calc tree and do a full recalc)

- Let Excel calculate the workbook again (F9), perhaps even multiple times

- Now time the calculation, has it improved any?

 

NB: If you open an Excel file which has been recalculated last on a different version of Excel, Excel may decide to do a full recalc the first time round. Subsequent calcs should be quick as usual

Tried this and recalculated 5 times and it ran at 36 seconds each time, down from the original 40 seconds. Turned off multi-threaded calcs and restored the 1-2 second calculation. Bug or working as intended? Maybe it doesn't work properly on AMD CPUs? Considering the processing power of modern CPUs, it must be a bug or bad design.

@ctz69 Thanks for trying. Let's wait and hear what the team has to say about this. I'll report back if I hear anything.

Hi, my name is Bill Wu, I'm a member of the Excel team. Thank you @Jan Karel Pieterse for alerting us to the issue.

 

@ctz69 I'm sorry you're experiencing this problem, and I hope you could provide some information to help us better understand this.

 

1. You wrote this is something that has changed within Excel. Do you happen to remember what the execution times were on both the Ryzen and Intel previously?

1a. Or, was the Intel execution time the baseline and things got worse when you moved to the Ryzen?

2. If you similarly turned off multi-threaded calc on the Intel do you also see the drop in execution time?

2a. If you changed the Calculation setting on the Ryzen to use 4 processors, is the performance similar to the Intel?

3. We are aware of certain spreadsheet models that don't scale well with more processors, but if it this a recent change in behavior it may be something different. Would you be willing to share with us a copy of your workbook for further analysis? The data can / should be obfuscated, or it could be a simplified model as long as we can reproduce the problem. If you are willing, we can take the next part offline to work this out, including privacy / confidentiality concerns.

 

Thank you,

Bill 

@Su-Piao Bill Wu 

 

1. You wrote this is something that has changed within Excel. Do you happen to remember what the execution times were on both the Ryzen and Intel previously?

 

Today, I added the multi-threading back in and calculation times on the Ryzen CPU went back to the 4 seconds or so time that I had before.   Not sure what has changed, but the file did not.  I guess the re-calculation efficiencies were added back in.   The single-thread time is still around 1 second.  The Intel CPU is about 1 and 4 seconds for single and multi-threaded, respectively.

 

1a. Or, was the Intel execution time the baseline and things got worse when you moved to the Ryzen?

 

The Ryzen was about the same time as the Intel until the 40 seconds I got recently.   It's gone back to the previous time for some reason.

 

2. If you similarly turned off multi-threaded calc on the Intel do you also see the drop in execution time?

 

Yes.  About 1 second similar to the Ryzen.

 

2a. If you changed the Calculation setting on the Ryzen to use 4 processors, is the performance similar to the Intel?

 

Now that it's improved greatly, this probably isn't necessary.

 

3. We are aware of certain spreadsheet models that don't scale well with more processors, but if it this a recent change in behavior it may be something different. Would you be willing to share with us a copy of your workbook for further analysis? The data can / should be obfuscated, or it could be a simplified model as long as we can reproduce the problem. If you are willing, we can take the next part offline to work this out, including privacy / confidentiality concerns.

 

Probably not necessary now. 

 

Thanks