Re: Unix domain sockets being slooooooooooooooooooooooooowwwwwwwww

Alan Cox (alan@lxorguk.ukuu.org.uk)
Thu, 30 Oct 1997 08:46:22 +0000 (GMT)


> I think there's a minimum packet length over ethernet that is killing you
> with overhead. I think it's 64 bytes. If you have a 1-byte semaphore, you
> are only using about 1/64th of the available data bandwidth.

The actual wasted 63 bytes is but a tiny fraction of the cost of getting
a packet to wire - a lot of it is going to the hardware setup overheads,
and even the linux syscall overhead too

Effectively its an equation of the form

large_overhead+(small_cost*bytes)
---------------------------------
bytes

which means small messages get you into poor performance areas. Doing it
with tcp not udp really makes it fun