In some environments such as Java, it\'s natural to use TCP/IP sockets to pass messages between processes on the same host using the \'localhost\' address (127.0.0.1 in IPv4, or
Specifically in linux when packets are transmitted on the loopback interface the kernel raises a "software" interrupt for each packet. From that point on the packet reception is identical to the packet reception flow for a physical device. So you are correct in your assumption that communication over the loopback interface would be much slower than alternate IPC mechanisms such as unix sockets.
I guess the kernel code path can be optimized. For e.g., we could call the receive code path directly from the transmit code path of loopback interface.