views:

55

answers:

1

Hi guys,

Does anyone knows if there are some alternatives for the Xoreax Incredibuild, this tool is powerful but also too expensive for me. I have project written in c/c++ with about three hundred thousand lines of code and using VS2005 to compile my code is just awfully slow.

Thanks to everyone.

A: 

I have project written in c/c++ with about three hundred thousand lines of code and using VS2005 to compile my code is just awfully slow.

How slow? I've seen a several-MLoC C++ app compile and link in just under an hour and believe that it could have been much faster, if the developers had been more careful not to include everything everywhere without thinking. (By the time that codebase got so big, it was almost a decade old already. Nobody had the time to spend man years cleaning up old, working code, and then fixing the new bugs introduced by doing so.) If you think 300kLoC takes long, you either use a wrong definition of "too long" :) or you might have potential to get better.

Oh, and BTW: They are so expensive because they can. TTBOMK, there's nothing like it out there, except GCC's distributed builds and XCode's shiny distribution (built on top of that, I believe).
The best you get using VC and without Xoreax is VS' parallel execution using multiple CPU kernels on the same machine. (I think this was introduced by VS 2008, BICBW. Maybe VS 2005 already had it.)

IB is awesome, though. Worth every penny, if you ask me. It put that almost 60mins of the above mentioned app down to 12mins (almost a third of which was spent by the linker). We even hooked up the machines of the girls in the office with IB. First time those machines did something useful. :) At evenings, when just a few developers were left, you'd have 30 cores compiling for you alone. The introduction of IB actually got me off the C++ newsgroups, where I used to hang out all day, while waiting for the compiler. Others played pool, Quake, or twiddled their thumbs for half the day. I guess buying those expensive licenses actually was a very good deal for our employer back then.

sbi
Thanks friend for response.
Mujo Osmanovic
My project has a lot heavy external libraries, and it is about 4 years old. And when i say "my project" i mean project that i work on as external developer, so time i spend on code compiling (code is changed constantly by the other developers) is a wasted time for me. So sometimes two hours is too long for me :)I guess i have to wait to earn enough money to buy a licence for IB, and it will happen hopefully in several years :))thanks again for your response
Mujo Osmanovic
@Mujo: I'm not sure IB is worth the money if you are on your own. Do you even have enough machines to make a difference?
sbi
Anyway, this might be improved by improving your workflow. What VCS are you using? If it is something like SVN or CVS just update less often. While you're working on something, you don't need to update at all. Just before you check-in your changes is enough. And when you're working at several different things during your day and need to check-in (and, thus, update) more often, you could have two working copies: the one you're using to work on something, and another one, already updating and compiling in the background, to be used for the next thing you work on.
sbi
machines are not a problem :). I use git, and often I have to rebase to the newest code, so my changes keep track on the changes other developers have done. Actually, I have 4 working copies, (two for release, and two for debug build), also I'm doing nightly builds, but it would be so helpful to have something like IB. I have used it on one much bigger project and time to compile that project was less than time i need now to compile this project which is at least twice smaller :))Well, yes i'll never buy IB, but i'm opened for some chipper alternatives (if any)
Mujo Osmanovic
FWIW, ElectricAccelerator, from Electric Cloud, does the same sort of thing as Incredibuild, but on Linux and Solaris in addition to Windows, and it guarantees correct builds even when the dependencies in the makefile or solution file are incomplete (Incredibuild cannot do that, although that's less important in its VS-centric world).
Eric Melski
@Mujo: Ah, so you have been poisoned by having used it once, and now you're addicted. I can understand that. `:)`
sbi
@Eric: [That looks indeed like a Xoreax rival](http://www.electric-cloud.com/products/electricinsight-screen01.php). Why don't you make an answer out of it? Although it seems that you very carefully avoided to spell out a price on your home page. At least I haven't found anything.
sbi