[distcc] Benchmarking the server-side cache. How bad is 4ms
latency to distcc server?
Dan Kegel
dank at kegel.com
Mon Feb 6 15:01:18 GMT 2006
On 2/5/06, Martin Pool <mbp at sourcefrog.net> wrote:
> You could combine it with the (currently disabled?) code that feeds the
> compiler from a fifo, so as to stream back errors or terminate
> compilation in the case of errors before the client finishes sending.
Gee, I didn't realize you could even do that. Don't compilers like to
read the whole source before starting?
> However I suppose failing files are fairly rare, since they will
> generally terminate the build, and so not worth optimizing.
I agree. The case I want to speed up is building correct files.
> This will probably require changing the client to a nonblocking setup
> where it can check for traffic back from the server while it keeps
> sending. This is certainly possible, and will complicate it a bit but
> perhaps not too much.
I'll probably just pay the extra round trip for the moment to make the
client change easier to code. I *have* been dying to rewrite all of
distcc's networking to really use nonblocking I/O and to allow multiple
simultaneous connections, but I'll continue resisting that urge as long
as possible.
> Incidentally, Van Jacobson's slides from linux.conf.au might be
> of interest to you. It was a fascinating talk.
>
> http://www.lemis.com/grog/Documentation/vj/lca06vj.pdf
> http://vger.kernel.org/~davem/cgi-bin/blog.cgi/2006/01/27#vj_channels
Yes, indeed. Something for the future, though.
> Will sending the hash first really be a problem? I would have thought
> an extra round trip would be relatively cheap compared to the 2MB
> transmission, but I'm not sure.
I'm probably being overly perfectionistic. Benchmarking will reveal whether
it's important.
- Dan
--
Wine for Windows ISVs: http://kegel.com/wine/isv
More information about the distcc
mailing list