Een experiment om de efficiëntie van het kattenbedrijf te verbeteren

Ariadne Conill, maker van de Audacious-muziekspeler, initiatiefnemer van het IRCv3-protocol en leider van het Alpine Linux-beveiligingsteam, heeft onderzoek gedaan naar het optimaliseren van het cat-hulpprogramma, dat een of meer bestanden naar de standaarduitvoerstroom stuurt. Om de prestaties van cat op Linux te verbeteren, worden twee optimalisaties voorgesteld, gebaseerd op het gebruik van de sendfile- en splice-systeemaanroepen om gegevens rechtstreeks tussen bestandsdescriptors op kernelniveau te kopiëren zonder dat de context naar de gebruikersruimte overschakelt.

De basisimplementatie, waarbij gebruik werd gemaakt van traditionele lees- en schrijfaanroepen die tot contextwisseling leidden, liet een prestatie van 4 GB/s zien bij het kopiëren van een bestand van 3.6 GB vanuit tmpfs. De op sendfile gebaseerde optie verhoogde de prestaties tot 6.4 GB/s, en de op splice gebaseerde optie verhoogde de prestaties tot 11.6 GB/s, d.w.z. bleek ruim 3 keer sneller te zijn dan de originele versie.

Bron: opennet.ru

Voeg een reactie