RE: Huge project - long build time

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance

From: Mark Lines-Davies, Guildford, UK (MarkLinesDaviesGuildfordUK_at_discussions.microsoft.com)
Date: 11/15/04


Date: Mon, 15 Nov 2004 04:13:02 -0800

It's been suggested we might have a circular dependency between projects...

...which might explain why each developer hit the problem one by one, i.e.
as each did a Get Latest Version

"Mark Lines-Davies, Guildford, UK" wrote:

> Hi Cody
>
> We too are having terrible speed problems with VS.NET.
>
> Our solution contains 10 VB.NET projects, but they're quite big: the
> solution as a whole contains 500K lines of code.
>
> Response time in the VB IDE has long been a problem for us. You can type a
> line, press return and it's 30 seconds to a minute before the IDE responds.
> And this is on a high-end machine with 2GB RAM! I understand that this is
> because the VB compiler recompiles behind the scenes every time you leave a
> line, and this behaviour is too tightly bound into the VB IDE to be removed.
>
> It really does make VB.NET unsuitable for enterprise application
> development. C# doesn't seem to have the same problem, but unfortunately
> VB.NET is a corporate standard here, so we're stuck with it.
>
> But a slow response time isn't our biggest problem: compile speed is.
>
> Until the middle of last week, build times were reasonable and the compiler
> seemed to be able to do dependency checking ok. Then, one by one, each
> developer on the team started seeing build times lengthen dramatically. It
> now takes 20 minutes to rebuild the system.
>
> Also, all concept of dependency checking seems to have been lost. You can
> change one line in one project, press the Start Debugging button, and VS
> rebuilds the entire solution.
>
> When you build, it takes ages even to start. Then as it does each project,
> it says "Building satellite assemblies" and then just waits. I have no idea
> what satellite assemblies it might be building.
>
> The best we can do at the moment is do a Get Latest Version in the morning
> to get everything out of SourceSafe, then each of us spends 20 minutes doing
> a full rebuild. Then we use Configuration Manager to switch the building of
> all the projects off except the one each of us is working on.
>
> When any of us is ready to test, they build only the project with their
> changes, then use Configuration Manager to switch all projects off before
> doing Start Debugging.
>
> Even then, there's a long pause before text appears in the Output window to
> say that nothing needed building!
>
> Having searched the 'net I found a suggestion that unplugging your network
> cable might help. Tried it but no luck, and in any case we can't debug like
> that as we need access to our database server.
>
> As a workround, messing with Configuration Manager isn't ideal, and given
> that the projects are a mixture of ASP.NET, web services, business layer and
> data layer code, we frequently need to make changes in several projects when
> we implement a new use case. Back to a 20 min wait each time.
>
> This really is a serious problem for us and will shortly impact our
> deadlines. So if anyone at Microsoft knows what is going on, please could we
> have some advice.
>
> thanks
>
> "cody" wrote:
>
> > We have a huge project, the solutuion spans 50 projects growing. Everytime I
> > want to start the project I have to wait nearly over 1 minute for the
> > compiler to complete building. This is unaccaptable.
> >
> > I thought about loading only the project I need into visual studio and not
> > the whole solution. The problem is that the compiler tells me it cannot find
> > the referenced dlls (project references) although they are all lying in
> > their bin and obj folders.
> >
> > To get around that problem I have the idea that I could replace the project
> > references with dll references.
> > But this would introduce more problems: When I have to make a complete
> > rebuild, I have to manage the build order manually since the compiler cannot
> > see which project is dependend from which.
> > Thr second thing is what is if I switch from debug to release build? Do I
> > have to change all paths from all referenced dlls from .\debug to .\release?
> > Would it work this way or is there another/better solution?
> >
> > --
> > cody
> >
> > Freeware Tools, Games and Humour
> > http://www.deutronium.de.vu || http://www.deutronium.tk
> >
> >
> >



Relevant Pages

  • Re: UML Association?
    ... [Since you have two referential attributes, I assume that a Developer ... may have multiple owners and multiple creators? ... The only reason to do that would be if there were multiple relationships to navigate. ... I would also point out that dependency relationships in UML are distinct from association and generalization relationships. ...
    (comp.object)
  • Re: hmm..interesting
    ... I used to be a professional software developer on both Unix/Linux (all ... flavours) and Windows (writing CFD and Valve-train dynamics software, ... the fact that Visual Studio allows you to get away with fairly sloppy ... difficult to find a C compiler that *doesn't* have vendor-specific ...
    (comp.sys.acorn.hardware)
  • Re: Using the carry flag in standard C
    ... This is unnecessary if there is already an integer type that is double ... So while the above method gives the developer a deterministic ... are all simulated internally by the compiler. ... corresponds roughly to what we want *today*. ...
    (comp.std.c)
  • Re: Language standard: the least common denominator vs. utility
    ... its a dependency in exactly the ... a bug in the C library for their compiler, ... While in theory the standardization process encourages universal ... Probably a better way of doing this would be to introduce namespaces ...
    (comp.lang.c)
  • Re: pyjamas 0.7 released
    ... examples and a developer list. ... These days I prefer to stay with python ... wants to contribute absolutely anything, ask, and you get svn access - ... me, personally, i would be happy with the state the compiler was in, ...
    (comp.lang.python)