On 17/09/11 8:52 PM, Andrei Alexandrescu wrote:
On 09/17/2011 12:55 PM, Peter Alexander wrote:
On 17/09/11 4:28 PM, Andrei Alexandrescu wrote:
On 9/17/11 10:08 AM, Peter Alexander wrote:
On 17/09/11 6:53 AM, Nick Sabalausky wrote:
And then there's the enurmous savings in build times alone. Full
recompiles
of AAA C++ games are known to take upwards of a full day (not sure
whether
that's using a compile farm, but even if it is, D could still cut
down on
compile farm expenses, or possibly even the need for one).

This is false. You can easily build several million lines of code in
several minutes using unity files and distributed building. There need
not be any build farm expenses, the build machines can just be
everyone's dev machines.

Then Facebook would love your application (I'm not kidding; send me
private email if interested). We have a dedicated team of bright
engineers who worked valiantly on this (I also collaborated), and a
dedicated server farm. Compile times are still a huge bottleneck.

Andrei

It's not my application.

I meant employment application.

We use Incredibuild: http://www.xoreax.com/

Is it available on Linux?

From what I can tell from the website, it's Windows only.


And I'm sure you know what unity builds are. For those that don't:
http://buffered.io/2007/12/10/the-magic-of-unity-builds/

That thing when you concatenate everything to be compiled, right? We
don't do that although the technique is known. I'll ask why. Off the top
of my head, incremental compilation is difficult. I also wonder how the
whole thing can be distributed if it's all in one file.

You don't need to concatenate everything into a single file. Just put maybe 50 source files per unity file (group ones that #include common headers) and then compile all the unity files separately. That way you can distribute individual unity files, and it also means that you don't have to rebuild the entire solution when changing a single source file.

It's a bit of a balancing act getting the right number of unity files.

Reply via email to