Hello:

Martin did some fixes in the ssh connection
(see the ["Busy" waiting when using distcc/ssh ] thread)
and here are some tests with large and ugly C++ code,
which tends to produce very large preprocessed files.

In all the cases, only the remote machine is in the DISTCC_HOSTS
list and I ran the compilation with make -j2:


1.- export DISTCC_HOSTS="remotemachine" ==> tcp/ip


real    1m48.889s
user    0m6.380s
sys     0m1.640s

2.-export DISTCC_HOSTS="@remotemachine" ==> ssh

real    1m43.114s
user    0m7.380s
sys     0m1.760s


3.- export DISTCC_HOSTS="@remotemachine" ==> ssh+compression


real    0m39.167s
user    0m10.150s
sys     0m1.700s

Note: this case was ran after adding the following lines to
the .ssh/config file.

Host *
   Compression yes


Again, this test is for C++ code over a 100Mb connection (cross cable connection, no hub, no switch).


Marcelo


Marcelo Matus wrote:

Martin Pool wrote:

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



__ distcc mailing list http://distcc.samba.org/
To unsubscribe or change options: http://lists.samba.org/cgi-bin/mailman/listinfo/distcc

Reply via email to