A implementação padrão de pipes em Linux usando write/read faz cópias de páginas e sincronização frequente, limitando a velocidade a cerca de 3,5 GiB/s.
Substituir write/read por vmsplice/splice elimina cópias de dados entre espaço de utilizador e kernel, aumentando a taxa para ~32 GiB/s.
Adoção de huge pages (páginas de 2 MiB) reduz o custo de conversão de memória virtual para física, elevando o desempenho para ~51 GiB/s.
Usar busy loop em vez de bloqueios evita overhead de espera e acordar threads, atingindo em torno de 62,5 GiB/s.
O processo de otimização baseou-se em profiling com a ferramenta perf e análise do funcionamento interno de pipes no kernel Linux
Get notified when new stories are published for "🇵🇹 Hacker News Português"