distcc and java

Some folks are working on modifying
javac to work with distcc
. I really should reply to this
on-list… what they are doing sort of overlaps with Anthony’s earlier
efforts in this area. Plus which, modifying a proprietary compiler is
ugly.

I’m not so sure that having distcc work for ordinary Java
compilation makes that much sense anyway. The current compilers are
all plenty fast on current hardware. It is hard to believe you could
get any substantial speedup by shipping compilations around the local
network.

On the other hand, there is a nice distcc improvement that would
help gcj. With the new binary compatibility ABI, when you compile
from .class to object, gcj no longer needs to read any dependencies
— it compiles the class file in isolation. This means it is
feasible to distribution these compilations.

So why won’t the ordinary distcc work? The most common way to
build using the new ABI is to compile entire jar files at once. So,
to be most useful, distcc would have to unpack the jar, distribute the
jobs itself, and then link the results. This is a slightly trickier
than it sounds because non-.class files have to be treated as
resources, requiring a different invocation of gcj.

Be the first to leave a comment. Don’t be shy.

Join the Discussion

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This site uses Akismet to reduce spam. Learn how your comment data is processed.