On 7 Jul 2003, Marcelo Matus <[EMAIL PROTECTED]> wrote:
it seems the timeout is comming from the io.c file:
.... const int timeout = 15; /* seconds */
/** * @todo Perhaps only apply the timeout for initial connections, not when * doing regular IO. **/ .........
the current timeout is too short for large compilations. If I use 150s, then
I have no problems. But, as the @todo says, maybe it is better
to have different timeouts for the initial connection
and the compilation.
OK, this is done in CVS. Incidentally, removing the silly busyloop bug has greatly improved the efficiency of SSH connections! (Amazing eh? :-)
My standard linux-2.5.68 kernel benchmark build over three machines on 100Mbps now takes 237s over SSH and 161s over TCP, so it's still quite a lot slower.
Well, get more amazed, add the following lines to your .ssh/config file (if you don't
have them):
Host * Compression yes
In my case, compiling only against a remote host, the two cases gave me:
1.- export DISTCC_HOSTS="remotemachine" ==> tcp/ip
real 1m48.889s user 0m6.380s sys 0m1.640s
2.- export DISTCC_HOSTS="@remotemachine" ==> ssh+compression
real 0m39.167s user 0m10.150s sys 0m1.700s
Cool!, isn't?
Note: I use make -j2, in both cases. I ran both cases with the distccmon-gnome
and you can see that the "Sending file" with tcp/ip takes forever.
Maybe my files are too large (ugly C++ with a lot of includes and templates),
and/or the network is too slow (direct 100Mb, using cross cable, no hub or switch),
but here ssh is winning.
Marcelo
__ distcc mailing list http://distcc.samba.org/
To unsubscribe or change options: http://lists.samba.org/cgi-bin/mailman/listinfo/distcc
