Is VC9 Express slow for anyone else??

A place for Ogre users to discuss non-Ogre subjects with friends from the community.
User avatar
Moohasha
Gnoll
Posts: 672
Joined: Fri Dec 07, 2007 7:37 pm
x 8

Is VC9 Express slow for anyone else??

Post by Moohasha »

I'm using VS9 Express at home, and it seems to compile much slower than VC7.1. I compiled the Google Protocol Buffer libraries in VC7.1, and it went MUCH faster (3x to 4x faster) than it did in VC9. Has anyone else experienced this? It it just because it's the Express version, or could I have something funky in my configuration?
User avatar
syedhs
Silver Sponsor
Silver Sponsor
Posts: 2703
Joined: Mon Aug 29, 2005 3:24 pm
Location: Kuala Lumpur, Malaysia
x 51

Re: Is VC9 Express slow for anyone else??

Post by syedhs »

I think it starts to slow starting from VC8, and subsequently VC9. I rarely use VC7, but VC6 and VC8 are miles apart in term of compilation speed. However.. I think it is not slow for nothing because VC8 produces much more compact executable/DLL.
A willow deeply scarred, somebody's broken heart
And a washed-out dream
They follow the pattern of the wind, ya' see
Cause they got no place to be
That's why I'm starting with me
User avatar
Klaim
Old One
Posts: 2565
Joined: Sun Sep 11, 2005 1:04 am
Location: Paris, France
x 56
Contact:

Re: Is VC9 Express slow for anyone else??

Post by Klaim »

Yes it's (vc8 and vc9) slower, it makes more optimizations and add more code. That's all optional but it's default modes behaviour (Release too).

It might be fixed with the next version of the compiler (vc10) that seem to have been refactored a lot. I'm not sure about perfs for this one as it's currently in Beta 1.
User avatar
Moohasha
Gnoll
Posts: 672
Joined: Fri Dec 07, 2007 7:37 pm
x 8

Re: Is VC9 Express slow for anyone else??

Post by Moohasha »

Ok, I just wanted to make sure it was the tool. At first I thought it was my computer, cause my home computer (running VC9 Express) was much crappier than my work computer (running VC7.1). But I just got a new home computer that kicks butt, and it's still slow. Maybe I'll play around with the project settings for the Debug configuration to see if I can speed it up, and leave it optimized for Release only.
Black holes are where God divided by 0
User avatar
Klaim
Old One
Posts: 2565
Joined: Sun Sep 11, 2005 1:04 am
Location: Paris, France
x 56
Contact:

Re: Is VC9 Express slow for anyone else??

Post by Klaim »

If your computer is recent, you might want to speed up compilation by exploiting your cpu cores by using parallel projects compilations (see the VS global options) or by using this (now payable) plugin : MPCL to allow .cpp/.c parallel compilation - that is also possible in Release mode with vc9.

Your memory and hard drive might play a role in the compilation speed too but I guess it's minor.
User avatar
DanielSefton
Ogre Magi
Posts: 1235
Joined: Fri Oct 26, 2007 12:36 am
Location: Mountain View, CA
x 10
Contact:

Re: Is VC9 Express slow for anyone else??

Post by DanielSefton »

Might be obvious, but precompiled headers haven't been mentioned -- do you use them?

My computer is growing old, and compilation times when not using PCHs are unbearable. However, with them, it's fast as lightning.
User avatar
Klaim
Old One
Posts: 2565
Joined: Sun Sep 11, 2005 1:04 am
Location: Paris, France
x 56
Contact:

Re: Is VC9 Express slow for anyone else??

Post by Klaim »

Indeed (and that make me think that i forgot to add them in my project...)
User avatar
Moohasha
Gnoll
Posts: 672
Joined: Fri Dec 07, 2007 7:37 pm
x 8

Re: Is VC9 Express slow for anyone else??

Post by Moohasha »

DanielSefton wrote:Might be obvious, but precompiled headers haven't been mentioned -- do you use them?

My computer is growing old, and compilation times when not using PCHs are unbearable. However, with them, it's fast as lightning.
I personally do not use them, unless I'm compiling someone else's code which is (ie, Ogre). But in this specific example, it's the exact same project compiling in VC9 and VC7.1 and there's an obvious difference, and I don't think it's using PCHs.
Black holes are where God divided by 0
User avatar
Klaim
Old One
Posts: 2565
Joined: Sun Sep 11, 2005 1:04 am
Location: Paris, France
x 56
Contact:

Re: Is VC9 Express slow for anyone else??

Post by Klaim »

There is a Project option in Visual Studio to generate the pch automatically, allowing for a minimum compilation optimization. That might be a good solution, i'll try that.

edit> Hmmm don't think to work well with my projects...
User avatar
DanielSefton
Ogre Magi
Posts: 1235
Joined: Fri Oct 26, 2007 12:36 am
Location: Mountain View, CA
x 10
Contact:

Re: Is VC9 Express slow for anyone else??

Post by DanielSefton »

Moohasha wrote:I personally do not use them, unless I'm compiling someone else's code which is (ie, Ogre). But in this specific example, it's the exact same project compiling in VC9 and VC7.1 and there's an obvious difference, and I don't think it's using PCHs.
Well, accept that VC 2008 is slower than VC 2003, and start using them. :P Seriously, just by adding Ogre.h alone to a PCH will cut your compilation times by at least half.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Re: Is VC9 Express slow for anyone else??

Post by jacmoe »

I don't think it's slow at all - but I'm a patient guy.. :wink:
It depends, of course.
I tend to include only what I need to include.
Because I want my projects to be compilable in places where precompiled headers doesn't exist.
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
Moohasha
Gnoll
Posts: 672
Joined: Fri Dec 07, 2007 7:37 pm
x 8

Re: Is VC9 Express slow for anyone else??

Post by Moohasha »

Keep in mind that I'm not refering to Ogre, just any project in general. And I too try to forward declare what I can and only include stuff in source files to minimize dependencies. But when you're compiling someone else's code (*cough*google protocol buffers*cough*), it's hard to enforce that in all situations. ;)
Black holes are where God divided by 0
User avatar
xavier
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 9481
Joined: Fri Feb 18, 2005 2:03 am
Location: Dublin, CA, US
x 22

Re: Is VC9 Express slow for anyone else??

Post by xavier »

I found VC9 to be more responsive as an IDE; it certainly fires up a lot faster than 8. I didn't notice any difference in compile times between 8 and 9.
Do you need help? What have you tried?

Image

Angels can fly because they take themselves lightly.
User avatar
Klaim
Old One
Posts: 2565
Joined: Sun Sep 11, 2005 1:04 am
Location: Paris, France
x 56
Contact:

Re: Is VC9 Express slow for anyone else??

Post by Klaim »

Same here, the IDE is more responsive in VS9 than in VS8 but the compilation slow down started with VS8.
User avatar
Moohasha
Gnoll
Posts: 672
Joined: Fri Dec 07, 2007 7:37 pm
x 8

Re: Is VC9 Express slow for anyone else??

Post by Moohasha »

Ok, I never really used VS8 much, so I wouldn't know. I've only ever used VS7.1, and just recently got VC9 Express on my new computer so I didn't have to buy a new copy (I don't have the install disk for VS7.1 anymore, so it went out the window with my old computer). So I don't know how different 9 is from 8, but I agree that it does start up much faster, and intellisense seems a little better. Compiling seems to be the only thing that is slower.
Black holes are where God divided by 0
rizu
Gnoblar
Posts: 11
Joined: Mon Aug 10, 2009 6:03 pm

Re: Is VC9 Express slow for anyone else??

Post by rizu »

Sorry for bumping old thread, but can someone tell how long does it take to compile current samples from trunk with VC9 Express (from scratch)?

I ask this because I run a high spec PC (i7 920, 6gigs of ram, 2xSSD on Raid-0, Win7 64bit) and it takes 11-12 minutes to build all samples and samplebrowser. I have boost added into cmake but for other than that, all default. I also checked task manager and I can see that parallel building works (I can see 4 compilers running at once). I asked about this on irc and I got the same suggestions as mentioned here.. ..but is 11 minutes really normal build time without precompiled headers? I think it's a very long time..
User avatar
nikki
Old One
Posts: 2730
Joined: Sat Sep 17, 2005 10:08 am
Location: San Francisco
x 13
Contact:

Re: Is VC9 Express slow for anyone else??

Post by nikki »

rizu wrote:I ask this because I run a high spec PC (i7 920, 6gigs of ram, 2xSSD on Raid-0, Win7 64bit) and it takes 11-12 minutes to build all samples and samplebrowser. I have boost added into cmake but for other than that, all default. I also checked task manager and I can see that parallel building works (I can see 4 compilers running at once). I asked about this on irc and I got the same suggestions as mentioned here.. ..but is 11 minutes really normal build time without precompiled headers? I think it's a very long time..
How many configurations do you build?
rizu
Gnoblar
Posts: 11
Joined: Mon Aug 10, 2009 6:03 pm

Re: Is VC9 Express slow for anyone else??

Post by rizu »

That time is for one configuration only, it doesn't matter if it's Debug or Release, time doesn't change much. If you meant amount of projects I mean all which all selected by default on Ogre.sln after CMake. To be more specifig I open Ogre.sln, select Release, Win32 and hit rebuild ALL_BUILD and it takes around 11-12 minutes.

I started to wonder if I could make it faster somehow. Of course it's not that slow on normal projects, but it still seems to indicate that there's a lot of extra time spent somewhere. I'm just curious what kind of times you guys get to see if there's something seriously wrong with my dev setup.

Besides Boost 1.40, I also use DX August 2009 SDK, if that makes any difference to older ones (I doubt it).
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Re: Is VC9 Express slow for anyone else??

Post by jacmoe »

Seriously, 11 minutes for a complete build of Ogre is not a whole lot.
If you want it faster, use Python or C#.
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
xavier
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 9481
Joined: Fri Feb 18, 2005 2:03 am
Location: Dublin, CA, US
x 22

Re: Is VC9 Express slow for anyone else??

Post by xavier »

For the number of files involved, it's about 3x what it should be.

The biggest reason for long compile/link times in Ogre source is the heavy use of templates; they bloat the symbol table as well as create longer times for linking.

I find it unbearable with VC 2008 (Team Ed) on a Core i7 with 6GB RAM and stripe SATA-2 drives.
Do you need help? What have you tried?

Image

Angels can fly because they take themselves lightly.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Re: Is VC9 Express slow for anyone else??

Post by jacmoe »

Are we talking about a complete build of Ogre here?
11 minutes?
That's nothing.
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
nullsquared
Old One
Posts: 3245
Joined: Tue Apr 24, 2007 8:23 pm
Location: NY, NY, USA
x 11

Re: Is VC9 Express slow for anyone else??

Post by nullsquared »

<offtopic>
Klaim wrote:by using this (now payable) plugin : MPCL to allow .cpp/.c parallel compilation
Payable? As in $$? I don't understand why such primitive functionality isn't included with MSVC. I use Code::Blocks with MSVC's compiler (and debugger, too) and I enjoy my parallel source compilation (from the same project). I also enjoy my simple "goto file" feature which MSVC is also lacking (of course, VAX has it).
rizu
Gnoblar
Posts: 11
Joined: Mon Aug 10, 2009 6:03 pm

Re: Is VC9 Express slow for anyone else??

Post by rizu »

jacmoe wrote:Are we talking about a complete build of Ogre here?
11 minutes?
That's nothing.
Yes, whole Ogre + samples (stuff which is on default Ogre.sln) dependencies excluded. For example all render systems etc are built with ALL_BUILD.

To make a point, I don't see this as a showstopper or anything, I was just wondering if I'm doing something wrong. With normal ogre projects build time is more acceptable anyway.

I've used ogre 1.6 before with Code::Blocks & MinGW and I could build everything fast. I realize that 1.7 has more stuff in it, but it wouldn't make build time that long, so it has to be VC9 or something on my current setup.
User avatar
xavier
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 9481
Joined: Fri Feb 18, 2005 2:03 am
Location: Dublin, CA, US
x 22

Re: Is VC9 Express slow for anyone else??

Post by xavier »

nullsquared wrote:<offtopic>
Klaim wrote:by using this (now payable) plugin : MPCL to allow .cpp/.c parallel compilation
Payable? As in $$? I don't understand why such primitive functionality isn't included with MSVC. I use Code::Blocks with MSVC's compiler (and debugger, too) and I enjoy my parallel source compilation (from the same project). I also enjoy my simple "goto file" feature which MSVC is also lacking (of course, VAX has it).
It is included, and has been since the days of VS 2003. In VS 2005 paralle project builds were supported, and with 2008 parallel file builds (within a project) are now officially supported.

/MP switch.

http://msdn.microsoft.com/en-us/library/bb385193.aspx
Do you need help? What have you tried?

Image

Angels can fly because they take themselves lightly.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Re: Is VC9 Express slow for anyone else??

Post by jacmoe »

Qt Labs has created jom which is an nmake clone with -j parameter support like GCC:
http://qt.gitorious.org/qt-labs/jom/
Worth looking into?
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
Post Reply