Startpunt was een eenvoudig C-programma dat met read/write slechts ~3,5 GiB/s haalt.
Met perf-profiling blijkt de helft van de tijd in pipe_write te gaan, vooral door kopiëren en pagina-allocatie.
Met vmsplice en splice elimineer je kopieën tussen gebruikers- en kernelruimte, en bereik je ~33 GiB/s.
Door grote (2 MiB) “huge pages” te gebruiken versnelt get_user_pages_fast, wat ~50% extra oplevert (~51 GiB/s).
Busy looping (nonblocking vmsplice/splice) vermijdt wachtroutines en synchronisatie en verhoogt de doorvoer tot ~62,5 GiB/s.
Optimalisaties bestrijken zero-copy technieken, ringbuffers, virtueel geheugen, synchronisatie en pagina-beheer.
Get notified when new stories are published for "🇳🇱 Hacker News Dutch"