Ariadne Conill, az Audacious zenei lejátszó készítője, az IRCv3 protokoll fejlesztésének kezdeményezője és az Alpine Linux biztonsági csapatának vezetője kutatást végzett arról, hogy mennyire lehet optimalizálni a cat parancsot, amely fájlok kiírását végzi a standard kimenetre. A Linuxban a cat teljesítményének javítása érdekében két optimalizálási lehetőséget javasolt, amelyek a sendfile és a splice rendszerhívások használatán alapulnak az adatok közvetlen másolására a fájlfájlok között, kernel szinten, anélkül, hogy kontextusváltásra lenne szükség a felhasználói térbe.
A hagyományos read és write hívásokat használó alapvető megvalósítás, amely kontextusváltáshoz vezet, 4 GB fájl tmpfs-ből történő másolása során 3.6 GB/s teljesítményt mutatott. A sendfile alapú változat teljesítménye 6.4 GB/s-ra, míg a splice alapú változat 11.6 GB/s-ra emelkedett, ami több mint 3-szor gyorsabb, mint az eredeti változat.
Forrás: opennet.ru
