On Wed, Feb 10, 2010 at 10:45 AM, Lex Spoon <sp...@google.com> wrote:

> What you describe, Alex, is available via the "Compiler" entry point,
> though it hasn't been particularly well documented.  There is a
> PermutationWorkerFactory that can create CompilePerms workers.  The default
> worker factory spawns Java VMs on the same machine, but it is possible to
> write a replacement worker that uses ssh or whatnot to do the work on a
> separate machine.  The way to plug in a replacement worker factory is to set
> the Java property gwt.jjs.permutationWorkerFactory .
>
>
> That said, I thought the reason for existence of Precompile, CompilePerms,
> and Link is to get the best build time but at the expense of needing extra
> configuration.  We are finding that by spending a few seconds copying source
> code over, we save 10+ minutes in Precompile and 10+ minutes in Link.
>
> Is copying source code so inconvenient that it would be worth having a
> slower build?  I would have thought any of the following would work to move
> source code from one machine to another:
>
> 1. rsync
> 2. jar + scp
> 3. "svn up" on the slave machines
>
> Do any of those seem practical for your situation, Alex?
>
> Overall, it's easy to provide an extra build staging as an option, but we
> support a number of build stagings already....
>

What does make it difficult is that you can't have a pool of worker machines
that can build any project that are asked of them without copying the
sources to the worker for each request.  For a large project, this can get
problematic especially when you have to send the transitive dependencies.

Besides, what is gained by having the user have to arrange this copying
themselves rather than the current method of sending it as part of the
compile process?  For example, distributed C/C++ compilers send the
preprocessed source to the worker nodes, so they don't have to have the
source or the same include files, we currently send the AST which is a
representation of the source, etc.

-- 
John A. Tamplin
Software Engineer (GWT), Google

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to