Ariadne Conill, kreatorica muzičkog plejera Audacious, inicijatorica IRCv3 protokola i vođa sigurnosnog tima Alpine-a Linux, proveli su studiju kako bi utvrdili koliko se uslužni program cat, koji ispisuje jednu ili više datoteka u standardni izlazni tok, može optimizirati. Da bi poboljšali performanse programa cat, Linux предложено два варианта оптимизаций, основанных на использовании системных вызовов sendfile и splice для прямого копирования данных между файловыми дескрипторами на уровне ядра без переключения контекста в пространство пользователя.
Osnovna implementacija, koristeći tradicionalne pozive čitanja i pisanja koji vode do promjene konteksta, pokazala je performanse od 4 GB/s pri kopiranju datoteke od 3.6 GB iz tmpfs-a. Opcija zasnovana na sendfile povećala je performanse na 6.4 GB/s, a opcija zasnovana na spajanju povećala je performanse na 11.6 GB/s, tj. pokazalo se da je više od 3 puta brži od originalne verzije.
izvor: opennet.ru
