I'm probably beating a dead horse here...poor horse.
Does anyone know the reason why the same VBA code runs slower in OS X (Excel 2008/2011) than it does in Windows (Excel 2007/2010/2013)?
I've written several cross-platform Excel VBA projects for Excel 2011/2010/2013, and I've noticed that the same code runs (much slower) on OS X than in Windows.
A cursory search revealed several forums where people are complaining about this, and the usual suspect is that Excel on Windows is multi-threaded but not on Mac. This excuse works for built-in features like pivot-tables and filters, but my performance issues are for code that I know runs in serial, since I wrote it that way...
A quick example from a thread at Experts Exchange that runs 3 times slower in Excel 2011 than it does in Excel 2013 in a VM on the same Mac:
Another reference to the speed difference in the same thread.
For an example of my own code, compare the progress of this code by looking at the block count in the status bar at the bottom of the screen in these two screen captures (forgive the electronica playing in the Windows screen capture). Running in Mac vs running in Windows. It's simply painful running this utility on a Mac.
This is serial code so the multi-threading argument doesn't apply here. Maybe it's being executed through emulation in a VM or something without the user knowing. There has to be a good reason.
Again, does anyone know the reason why the same VBA code runs slower in OS X (Excel 2008/2011) than it does in Windows (Excel 2007/2010/2013)?
Does anyone know the reason why the same VBA code runs slower in OS X (Excel 2008/2011) than it does in Windows (Excel 2007/2010/2013)?
I've written several cross-platform Excel VBA projects for Excel 2011/2010/2013, and I've noticed that the same code runs (much slower) on OS X than in Windows.
A cursory search revealed several forums where people are complaining about this, and the usual suspect is that Excel on Windows is multi-threaded but not on Mac. This excuse works for built-in features like pivot-tables and filters, but my performance issues are for code that I know runs in serial, since I wrote it that way...
A quick example from a thread at Experts Exchange that runs 3 times slower in Excel 2011 than it does in Excel 2013 in a VM on the same Mac:
Code:
[COLOR=#0B374D][FONT=Courier]Sub countup()
Dim x As Long
Debug.Print Time
For x = 1 To 1000000000
Next
Debug.Print TimeEnd
Sub[/FONT][/COLOR]
Another reference to the speed difference in the same thread.
For an example of my own code, compare the progress of this code by looking at the block count in the status bar at the bottom of the screen in these two screen captures (forgive the electronica playing in the Windows screen capture). Running in Mac vs running in Windows. It's simply painful running this utility on a Mac.
This is serial code so the multi-threading argument doesn't apply here. Maybe it's being executed through emulation in a VM or something without the user knowing. There has to be a good reason.
Again, does anyone know the reason why the same VBA code runs slower in OS X (Excel 2008/2011) than it does in Windows (Excel 2007/2010/2013)?