A Developer WeBLOG RSS 2.0

For the last couple of months my work has been bottlenecked by my build time. After I got my new computer, my build time using Visual Studio was pretty quick. It was a very enjoyable time to work. Until one day my build time just dropped to 45 minutes. It even reached 1 hour mark at one time. This issue affected my team mates as well. We tried to investigate the cause of it, but never seems to be able to solve the problem.

Luckily my senior came up with an intermediate solution, which is to use MSBuild through NAnt script. The intermediate solution took 6-7 minutes on average to build, which is alot better than 45 minutes. I talked to my senior that, even the alternative solution builds alot faster, but we still need to solve the build time issue. He then said to me, "We cant afford to waste more time trying to solve this, we have important work to do, we have to settle down with the alternative solution.". So I was like, he may be right, and I asked my self how bad could it be to have a 6 minutes build time.

Well, It turns out, it's pretty bad. In the first few weeks, I could start feeling the effect of it. Most of my time was wasted to wait for my solution to build, Work became so boring. It was very hard for me to focus and get itno "The Zone". Even when I got into the zone, my 6 minutes build time would easily break it. Why? because I was doing some other things during that waiting time, things like: reading blogs, listening to podcasts, watching pdc videos and whatnot. You may think that I was bludging, but I was just trying to utilize my time rather than wasting it.

Lets just do the math for a sec now. I have a 6 minutes build time. Lets just say I do 10 builds a day at minimum. Since one build takes 6 minutes, that would mean I would waste 1 hour of my work time in a day. Now that's just the minimum, and there's no way software developers do just 10 builds in a day. They usually do more, alot more. Especially in my case, where I have to use loggings to debug my application. I honestly could say that this issue had been taking out a good 2-3 hours of my work time per day.

This build issue had worn me out, physically and mentally. Especially when time was a constraint, I felt bad when I was not able to deliver a solution on time because of this. And what made it worse is that my team mate seems to not having any problem with it. Wait, did i say my team mate doesnt seem to have any problem with the build issue? Yes he doesn't and never was. It turns out that he has a hacked way to tackle the problem that makes his build time is uber fast. It involves changing the project references of the project that we want to build to just reference the dlls. So I tried his way, I grabbed his project file and chucked it into my solution. BAM, my build time went down to less than 30 seconds!! Man, to be honest I couldn't be happier in my life. All of the sudden my work becomes less dull and more exciting. I feel that I've gained my speed back. Its Awesome!!

Based on my experience, all I can say is: do not underestimate your build time. Long build time can seriously hurt your performance and demoralize you in a great way. I would consider any build that takes longer than 2 minutes is a problem. If you have a build problem fix it right away, its not worth your time and energy to work with long build time. Faster build time = Better work efficiency.

RWendi

Saturday, December 13, 2008 4:03:58 AM UTC |  Comments [0]
Programming
OpenID
Please login with either your OpenID above, or your details below.
Name
E-mail
(will show your gravatar icon)
Home page

Comment (Some html is allowed: a@href@title, b, blockquote@cite, em, i, strike, strong, sub, sup, u) where the @ means "attribute." For example, you can use <a href="" title=""> or <blockquote cite="Scott">.  

Enter the code shown (prevents robots):

Live Comment Preview
All Content © 2010, RWendi