Re: Unix sockets via TCP on localhost: is TCP slower?

From: David Miller
Date: Fri Nov 14 2008 - 03:56:45 EST


From: "Olaf van der Spek" <olafvdspek@xxxxxxxxx>
Date: Fri, 14 Nov 2008 09:51:44 +0100

> On Fri, Nov 14, 2008 at 1:19 AM, J.R. Mauro <jrm8005@xxxxxxxxx> wrote:
> > On Wed, Nov 12, 2008 at 6:20 PM, Olaf van der Spek <olafvdspek@xxxxxxxxx> wrote:
> >> Hi,
> >>
> >> Quite often in discussions, I see people claiming Unix sockets are
> >> faster then TCP sockets on a connection that stays inside localhost.
> >
> > Unix domain sockets should be faster because they're not subject to
> > windowing, ACKs, flow control, encapsulation, etc. etc.
>
> Why would you use windowing, ACKs, flow control and encapsulation on localhost?

So that you could firewall, shape, redirect, and make other
modifications to the traffic, as well as see it in tcpdumps. That's
the power of Linux, and yes people do this stuff and yes people do
want these features to work over loopback.

> I expected the kernel to copy data directly from user-space of the
> sending process to a kernel buffer of the receiving process, much like
> UNIX sockets.

Then all of the above features and debugging facilities go away.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/