Ariadne Conill, de maker van de muziekspeler Audacious, initiatiefnemer van de ontwikkeling van het IRCv3-protocol en leider van het beveiligingsteam van Alpine Linux, heeft onderzoek gedaan naar hoe de cat-tool, die uitvoer naar de standaard uitvoerstream van ƩƩn of meerdere bestanden verzorgt, kan worden geoptimaliseerd. Voor de verbetering van de prestaties van cat in Linux zijn twee optimalisatie-opties voorgesteld, gebaseerd op het gebruik van systeemaanroepen sendfile en splice voor het rechtstreeks kopiƫren van gegevens tussen bestandsdescriptoren op kernniveau zonder contextoverdracht naar de gebruikersruimte.
De basisimplementatie, die gebruikmaakt van traditionele read- en write-aanroepen die leiden tot contextoverdracht, toonde een prestatieniveau van 3,6 GB/s bij het kopiƫren van een 4 GB bestand van tmpfs. De variant gebaseerd op sendfile verhoogde de prestaties tot 6,4 GB/s, terwijl de versie op basis van splice zelfs tot 11,6 GB/s ging, wat betekent dat het meer dan 3 keer sneller was dan de oorspronkelijke variant.
Bron: opennet.ru
