We're talking about messages being sent by a client over a TCP socket, into the kernel, and read by an application. The data is shuffled around in memory from one buffer to another.
Não, não é. Não se você fizer isso corretamente de qualquer maneira. Para Linux, você deve procurar as chamadas do sistema sendfile (2) e splice (2). Outros kernels provavelmente têm instalações similares de cópia zero, mas o AFAIK não foi padronizado.
Na prática, melhor escrever o programa para ser o mais simples possível, medir onde é o gargalo, melhorar, medir, melhorar ... Prevendo gargalos é difícil e prematura otimização é a raiz de todos os males (como disse Knuth) .