April 12, 2004

devenv versus cons

Well I'll be damned...I certainly didn't expect this. I've just finished writing a perl module that assists in building VS.NET csharp projects using Cons. As I said before there's lots of reasons why I'm fed up with VS.NET's devenv as a build tool, and have decided to go with Cons, but slow first-time builds wasn't among them. All along I assumed my Cons build would probably always be slower than devenv the first time: there's lots of perl to be interpreted, and each time it fires of csc or resgen these executables have to be reloaded, while devenv instantiates one instance of a compiler object per build. Mainly I was just thinking of the time I'll save on successive builds through good dependency management.

However my first-time Cons build is running almost twice as fast as my first-time devenv build! Currently, the devenv build takes me 1 minute 4 seconds, while Cons finishes in 36 seconds. This is definitely cool. I'm guessing that there are some big fixed costs at play here for devenv, and that it would catch up and pass Cons on larger projects, but the fact remains: clean builds are infrequent and usually unnecessary if you've got a solid & trustworthy build system. Next I'm gonna talk about some features in Cons that make it both.

Posted by Alan at April 12, 2004 12:53 AM
Comments
Post a comment












Remember personal info?