Ariadne Conill, „Audacious“ muzikos grotuvo kūrėja, IRCv3 protokolo iniciatorė ir „Alpine Linux“ saugos komandos vadovė, atliko tyrimą, kaip optimizuoti „cat“ programą, kuri išveda vieną ar daugiau failų į standartinį išvesties srautą. Siekiant pagerinti cat našumą Linux sistemoje, siūlomi du optimizavimo variantai, pagrįsti sendfile ir splice sistemos iškvietimu, siekiant tiesiogiai kopijuoti duomenis tarp failų deskriptorių branduolio lygiu, neperjungiant konteksto į vartotojo erdvę.
Bazinis diegimas, naudojant tradicinius skaitymo ir rašymo skambučius, vedančius į konteksto perjungimą, parodė 4 GB/s našumą, kai kopijuojamas 3.6 GB failas iš tmpfs. Sendfile pagrįsta parinktis padidino našumą iki 6.4 GB/s, o sujungimu pagrįsta parinktis padidino našumą iki 11.6 GB/s, t.y. pasirodė esąs daugiau nei 3 kartus greitesnis nei pradinė versija.
Šaltinis: opennet.ru