Llevando al límite las tuberías de Linux: De 3,5 GiB/s a 62,5 GiB/s
Esta publicación explora la implementación de tuberías Unix en Linux mediante la optimización iterativa de un programa de prueba que escribe y lee datos a través de una tubería. Comenzando con un programa simple que alcanza un rendimiento de aproximadamente 3,5 GiB/s, el autor mejora su rendimiento veinte veces mediante varias etapas de optimización. Las mejoras clave incluyen el uso de las llamadas al sistema `vmsplice` y `splice` para eliminar la copia de datos, el aprovechamiento de páginas gigantes para reducir la sobrecarga de paginación y el empleo de bucles ocupados para minimizar los costos de sincronización. El proceso se detalla con ejemplos de código y análisis de rendimiento utilizando la herramienta `perf` de Linux.