How do I get estimate build time?

M

Mav

Hi, all

I wonder is that any way to estimate the build time from VS.net(C++ project).

We have a lot of projects(40) under one single solution. We use the
command line (devenv.exe Solution\mysol.sln /build /Release) to build
the solution,

Is that any information I can get the estimation time that will take
to build the whole solution? Instead of just waiting...

Thanks a lot,

Regards,
Mav
 
N

Nick Malik

If the elevator in your building told you that it would be 120 seconds
before the door opened, would you be able to do anything except wait?

Estimates may make waiting a little less painful, but the amount of time you
wait is not changed by them.

Honestly, I've compiled solutions with 15 or so projects on a build machine,
and it didn't take more than two minutes. I'd guess that you are looking at
maybe five minutes total.

--- Nick
 
M

Mav I

Thanks, Nick. I am 100% agree to you saying. However, we have 40
projects more, each project contains like 10-40 files, it takes roughly
about 50-70 mins on a 2.4G P4 machine 512 to build on VS.net to build
the whole solution.

However, my perl script to lanuch the command:
devenv.exe Solution\mysol.sln /build /Release /out my.log

,once my script is running and doing the build. I can only show:
Building...

I am not able to access my.log to get how far it has build, if I try to
use notepad to open to see the file while it is building. It displays
error "There is an process running unable to open the file".

My users would be happy if I can tell them which project is building or
done. That would be very helpful.

I know that Microsoft got an BuildIt app, but it seems won't work on my
case, plus our sources are on clearcase.


Any input would be welcome.

Thanks,
Mav



*** Sent via Devdex http://www.devdex.com ***
Don't just participate in USENET...get rewarded for it!
 
D

David Levine

50-70 minutes sounds like a lot, but there are a lot of variables that can
affect this. We have a solution of about 40 projects, and some projects have
far in excess of 40 files, and it takes only about 15 minutes to build. This
includes generating 3 different MSI files and running unit tests on all the
modules that have them (not many yet, but some). Our sources are also in
ClearCase and out automated build program will bump the version number (with
checkin/checkout semantics), get the latest version, build it, copy the
outputs, etc.

For figuring out what's building you can redirect standard output, read it,
and display it when the process is complete.

If you build the solution from within the IDE how long does it take, and
which step takes the longest?
 
M

Mav I

Hi, David,

First of all, thanks for your reply. We are IDE plugin to VS.net and
use our own C/C++ cross compiler to our project.

If we build the whole solution(libs and exes) from scratch, it takes
about 2 hour or up, if we build only the execs, take about 40 mins. One
of the exes is like 70-80M, that take the longest time. It takes the
almost the same time if we build from the GUI or CL.

I think you have give a good idea to read the STIO, and output so the
user will at least got some idea see how far it reach. In stead of now,
all I show is nothing but "Building...". There are some of my users
question, "How long do we need to sit and wait?", that was the reason I
try to find my answer.

which automated build program are you using?

Regards,
Mav

*** Sent via Devdex http://www.devdex.com ***
Don't just participate in USENET...get rewarded for it!
 
D

David Levine

It's been so long since I've worked with C/C++ I'd forgotten how much slower
it is to build them. Almost all our projects are C# and it builds fairly
quickly. Is your compiler homegrown?

The automated build program I use is based on something called BuildIt I got
from the GotDotNet site over year ago. I've modified it extensively and it's
almost entirely new by now but it served as a decent base to build on. Among
other things I've added support for ClearCase, MSI outputs, and a GUI
configurator.
 
M

Mav I

Hi, David,
Yes. We have homegrown compiler(C/C++) to compile our project. We got
IDE plugin to VS.net.
I saw that BuildIt on Microsoft website, I don't know it fit our need.
Doesn't it work for ClearCase as well? I thought it work on VSS only.
Cool, I may download it and give it a try. Thank for sharing.

Regards,
Mav

*** Sent via Devdex http://www.devdex.com ***
Don't just participate in USENET...get rewarded for it!
 
D

David Levine

It has a nice internal layout and it demonstrated how to drive VS using the
automation interface, which is why I used it as a base, but it had a number
of drawbacks as well. Among others, it only supports VSS, its method for
determining where the output files were to go was completely inadequate, it
had no means of filtering which output files should be copied, it did not
support projects that produced MSI files, and its versioning scheme was
inadequate. It took a couple of weeks of work.

If you are using a homegrown compiler you could add more output during its
compilation phase so that your build program can display it.
 
M

Mav I

Yes, I tried to download the BuildIt and played around yesterday. It
seems will not work on my case, we are using
ClearCase to hold all the submit source. I think I will change my driver
script (perl), that read from the output log and display the information
to my users instead.
That will be more helpful.

Mav



*** Sent via Devdex http://www.devdex.com ***
Don't just participate in USENET...get rewarded for it!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top