Optimization of framework SDK vs. VS 2005

  • Thread starter Thread starter Shawn B.
  • Start date Start date
S

Shawn B.

Greetings,

I have a question. The framework SDK ships with a CS/VB.NET compiler. Does
the Visual Studio 2005 IDE use these compilers or does the IDE have its own?
This has me thinking. Becuase the Express IDE supposedly doesn't optimize
the compiled output as much as the professional IDE does. If that's so,
then it sounds like their are two different compilers happening here. In
short, if I want to establish a build server (that does not have the IDE
installed only the Framework SDK) then will I get the same optimizations as
when we build from the IDE?


Thanks,
Shawn
 
The compilers should be the same, but it could be the versions of the
IDE are sending different command line parameters to the csc.exe or
vbc.exe programs.
 
Shawn said:
I have a question. The framework SDK ships with a CS/VB.NET compiler. Does
the Visual Studio 2005 IDE use these compilers or does the IDE have its own?
This has me thinking. Becuase the Express IDE supposedly doesn't optimize
the compiled output as much as the professional IDE does.

This isn't true. 'csc -optimize+' is about the full extent of
optimization afforded by csc, and is used by the IDE.

Almost all optimization occurs at runtime.
If that's so,
then it sounds like their are two different compilers happening here. In
short, if I want to establish a build server (that does not have the IDE
installed only the Framework SDK) then will I get the same optimizations as
when we build from the IDE?

To just do a build, often only the .NET framework is needed - not even
SDK - depending on what you use. MSBuild, csc, etc. are all part of the
framework, not SDK.

-- Barry
 
This isn't true. 'csc -optimize+' is about the full extent of
optimization afforded by csc, and is used by the IDE.

Then why do they talk about the "Pro" version producing better optimized
code than the Express edition?


Thanks,
Shawn
 
Shawn B. said:
Then why do they talk about the "Pro" version producing better optimized code than the
Express edition?

Where did you read this? There is only one csc compiler (cscomp.dll and the compiler driver
csc.exe), and he's part of the Framework not part of VS.

Willy.
 
This isn't true. 'csc -optimize+' is about the full extent of
Where did you read this? There is only one csc compiler (cscomp.dll and
the compiler driver csc.exe), and he's part of the Framework not part of
VS.

Okay, you're right. I was confusing C# with the Visual C++ and CLI compiler
where *that* compiler does more optimizations with Pro than Express.

Thanks,
Shawn
 
Shawn said:
Okay, you're right. I was confusing C# with the Visual C++ and CLI compiler
where *that* compiler does more optimizations with Pro than Express.

This mostly isn't true any more, BTW. There is no longer any (major)
difference between the C++ compilers:

http://msdn.microsoft.com/vstudio/express/support/faq/

"40. Does Visual C++ 2005 Express include the "optimizing compiler"?

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

-- Barry
 
This mostly isn't true any more, BTW. There is no longer any (major)
difference between the C++ compilers:

http://msdn.microsoft.com/vstudio/express/support/faq/

"40. Does Visual C++ 2005 Express include the "optimizing compiler"?

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

Yes, that is where I got my change of understanding. PGO doesn't apply to
..NET anyway, its *currenty* a purely native implementation as I understand.
Whole program optimization I believe applies to .NET as well. In any case,
my only purposes for using Express IDE's is for XNA, otherwise I license the
Team edition and use it completely.


Thanks,
Shawn
 
Back
Top