views:

141

answers:

2

We see a size difference here when building our application in VC 2008 Express vs. VC 2008 Professional (both SP1). The EXE built by VC 2008 Professional is about 10%+ smaller. We are using the exact same project files, so all the settings are the same and we're also building on the same OS with the same platform SDK, DLLs etc. installed. Is there a known difference in code generation or what could cause this?

A: 

The Express version has a number of optimisations disabled, so the code will tend to be both slower and more bloated.

Paul R
Care to say what or do you have a link where I could look it up? I searched the net a bit but mothing useful came up...
Karl
Empirical evidence only, sorry - I was preparing some training material recently on code optimisation and was planning to use VS Express 2008 for the course, but noticed that my the code examples ran really slow. Switching to a non-Express version brought performance back up to reasonable levels. I guess it makes sense - Micro$oft don't want to give *too* much away in the Express edition.
Paul R
Well... Thanks anyway. Guess we'll have to resort to compile on VS Professional only.
Karl
+1  A: 

Not all of the optimizations available in the Professional editions are in the Express editions.

The vague but official word from Microsoft:

Visual C++ 2008 Express Edition includes the same core optimizing compiler that will be included with all other Visual Studio 2008 editions. Some new expanded optimization features, including Profile Guided Optimizations, will be available only in the Standard and above editions of Visual Studio 2008.

Adrian McCarthy