Excel 2007 runs slow after upgrading CPU from dual to quad core

H

Huskymaniac

I upgraded from an E8400 to a Q9650. They should be identical except that the
new processor has 4 cores vs. 2. They are identical cores and are clocked at
the same 3GHz. The new CPU even has twice the cache memory. After upgrading
the CPU, my spreadsheet was running half as fast. I use Crystal Ball as an
add-in. The first thing I noticed when troubleshooting was that the
computer/windows was not correctly recognizing the new processor. It saw it
as a quad core Pentium III Xeon. I upgraded the bios, motherboard system
software and the chipset software. When I go to hardware I now see a Q9650
but Excel 2007 is still running at half the speed it was with the old
processor. Out of curiosity I used msconfig to tell windows to use only two
cores at startup and re-booted. When I ran the spreadsheet with Crystal
Ball, the speed was back to about where it was with the dual core CPU but
maybe slightly slower. What do I need to do in order for windows or excel to
not slow down when four cores are used?
 
B

Bernard Liengme

On the Advanced tab of XL2007's option dialog there is a setting for how
many processors to use
Might be easier to experiment here rather than with the msconfig
You are making fair comparisons? -- the files are not on a USB flash drive
in one case and hard drive in another, for example
best wishes
 
H

Huskymaniac

Yeah, I made sure that XL2007 was set to use all of the available processors
in each case and, yes, everything else is constant in this comparison. It is
probably more a windows issue than excel since changing the number of
processors in msconfig makes a difference but it is beyond me how it could
run half as fast with twice as many cores. BTW, I am running 32 bit XP pro.
 
J

JLatham

In the workbook you're using for the testing, is there any VBA code/macros?

There was an issue found in Excel 2007 VB engine on multi-core CPUs with
some commands that some statements ran thousands of times instead of just
what you might expect them to (say hundreds) and so the processing of the
workbook took much longer on a multi-core CPU than even on a slower clocked
single core CPU. To date I don't believe there's been a fix to this,
although I could be wrong.

MSFT gave me some code to 'wrap' the sections of code that I'd identified in
to turn off multi-core use during the execution of those sections of code and
turn it back on once that section was finished. Of course, the first trick
is to find which section or command is subject to this type of improper
thread handling! LOL! I know of no list of such commands, and in the example
I sent in, it was the RND() function that was the affected command.

So, like Bernard Liengme wrote, experimenting with the # of cores used may
yield some interesting results, especially if you happen to find that it runs
faster when limited to a single core.
 
H

Huskymaniac

I tried that. On a dual core machine it runs slower when told to run on one
core. On a quad core machine, when windows was set to use only two cores,
one core was slower than two. When windows was told to use all four cores,
the setting in excel had ne effect.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top