Page 1 of 2
Is VC9 Express slow for anyone else??
Posted: Mon Jul 20, 2009 2:05 pm
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?
Re: Is VC9 Express slow for anyone else??
Posted: Mon Jul 20, 2009 4:17 pm
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.
Re: Is VC9 Express slow for anyone else??
Posted: Mon Jul 20, 2009 4:29 pm
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.
Re: Is VC9 Express slow for anyone else??
Posted: Mon Jul 20, 2009 5:17 pm
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.
Re: Is VC9 Express slow for anyone else??
Posted: Mon Jul 20, 2009 6:32 pm
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.
Re: Is VC9 Express slow for anyone else??
Posted: Mon Jul 20, 2009 6:38 pm
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.
Re: Is VC9 Express slow for anyone else??
Posted: Mon Jul 20, 2009 8:42 pm
by Klaim
Indeed (and that make me think that i forgot to add them in my project...)
Re: Is VC9 Express slow for anyone else??
Posted: Mon Jul 20, 2009 9:06 pm
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.
Re: Is VC9 Express slow for anyone else??
Posted: Mon Jul 20, 2009 9:34 pm
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...
Re: Is VC9 Express slow for anyone else??
Posted: Mon Jul 20, 2009 10:06 pm
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.

Seriously, just by adding Ogre.h alone to a PCH will cut your compilation times by at least half.
Re: Is VC9 Express slow for anyone else??
Posted: Mon Jul 20, 2009 10:27 pm
by jacmoe
I don't think it's slow at all - but I'm a patient guy..

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.
Re: Is VC9 Express slow for anyone else??
Posted: Mon Jul 20, 2009 11:12 pm
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.

Re: Is VC9 Express slow for anyone else??
Posted: Tue Jul 21, 2009 3:45 am
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.
Re: Is VC9 Express slow for anyone else??
Posted: Tue Jul 21, 2009 10:19 am
by Klaim
Same here, the IDE is more responsive in VS9 than in VS8 but the compilation slow down started with VS8.
Re: Is VC9 Express slow for anyone else??
Posted: Tue Jul 21, 2009 3:53 pm
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.
Re: Is VC9 Express slow for anyone else??
Posted: Sun Nov 29, 2009 11:17 pm
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..
Re: Is VC9 Express slow for anyone else??
Posted: Mon Nov 30, 2009 5:37 am
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?
Re: Is VC9 Express slow for anyone else??
Posted: Mon Nov 30, 2009 8:23 am
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).
Re: Is VC9 Express slow for anyone else??
Posted: Mon Nov 30, 2009 8:52 am
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#.
Re: Is VC9 Express slow for anyone else??
Posted: Mon Nov 30, 2009 8:59 am
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.
Re: Is VC9 Express slow for anyone else??
Posted: Mon Nov 30, 2009 10:49 am
by jacmoe
Are we talking about a complete build of Ogre here?
11 minutes?
That's nothing.
Re: Is VC9 Express slow for anyone else??
Posted: Mon Nov 30, 2009 12:14 pm
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).
Re: Is VC9 Express slow for anyone else??
Posted: Mon Nov 30, 2009 2:15 pm
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.
Re: Is VC9 Express slow for anyone else??
Posted: Mon Nov 30, 2009 10:26 pm
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
Re: Is VC9 Express slow for anyone else??
Posted: Mon Nov 30, 2009 10:30 pm
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?