Considering starting a software project - anything like this exist?
-
Our current project here at work takes about 2:30 to build. Even 1:00 is insane, considering we do many builds per day. Make a change to some low-level component, then suddenly all these dependent projects need to build, and you go on a coffee break as VS thrashes your disk for a while. The idea is to make even large solutions (30-50 projects) build in seconds, rather than minutes. The idea is to eliminate coffee breaks. :)
Religiously blogging on the intarwebs since the early 21st century: Kineti L'Tziyon Judah Himango
But I realy like coffee! besides, it's the only time I get to see real people during the work day.
-
Actually, you could do file-level parallel builds if you did a bit of work: First off, you would want to compile the files into individual modules. In C# you would use the /target:module, which generates a file with a .netmodule extension. Afterwards you you would run the AL.exe (assembly linker) to pull the modules together into an assembly. I haven't tried this myself, but it is in the documentation, so it should be possible...
I looked into this and wanted to let you know the results. This isn't as simple as you may think. Take the following .cs file:
class Foo
{
public Foo()
{
Bar b = new Bar();
Zap z = new Zap();
}
}If I try to compile that using /target:module, the C# compiler tells me it can't find Bar or Zap. I was hoping the compiler could still spit out a .netmodule, and just have the linker resolve the dependencies. Alas, this doesn't seem to work. Now that I think about it, that would be a little too magical. If I wanted to do file-level compilation, I'd need to build a dependency graph for the target file, then compile all those files as a .netmodule. More work than I bargained for.
Religiously blogging on the intarwebs since the early 21st century: Kineti L'Tziyon Judah Himango
modified on Saturday, October 24, 2009 3:36 PM