La implementación básica de pipes en Linux usando write/read copia datos página a página, limitando el rendimiento a unos 3.5 GiB/s.
El uso de syscalls vmsplice y splice evita copias intermedias entre espacio de usuario y kernel, incrementando el rendimiento a ~33 GiB/s.
Emplear páginas grandes (huge pages) para la memoria reduce el coste de obtener páginas físicas, alcanzando ~51 GiB/s.
Sustituir bloqueos y esperas por bucles activos (busy looping) elimina la sobrecarga de sincronización, elevando el rendimiento a ~62 GiB/s.
Combinando estas optimizaciones se consigue casi un aumento de veinte veces el rendimiento inicial de las tuberías en Linux.
Get notified when new stories are published for "🇪🇸 Hacker News Espanyol"