Eksperyment mający na celu zwiększenie efektywności działania narzędzia cat.

Ariadne Conill, twórca odtwarzacza muzycznego Audacious, inicjator rozwoju protokołu IRCv3 i lider zespołu ds. bezpieczeństwa Alpine Linux, przeprowadziła badania nad tym, jak można zoptymalizować narzędzie cat, które wypisuje jeden lub kilka plików na standardowe wyjście. Aby poprawić wydajność cat w Linuxie, zaproponowano dwie opcje optymalizacji, polegające na wykorzystaniu wywołań systemowych sendfile i splice do bezpośredniego kopiowania danych między deskryptorami plików na poziomie jądra, bez przełączania kontekstu do przestrzeni użytkownika.

Podstawowa implementacja, wykorzystująca tradycyjne wywołania read i write, prowadzące do przełączania kontekstu, przy kopiowaniu 4GB pliku z tmpfs wykazała wydajność 3.6 GB/s. Opcja oparta na sendfile pozwoliła zwiększyć wydajność do 6.4 GB/s, a opcja oparta na splice — do 11.6 GB/s, co oznacza, że była szybsza od pierwotnej wersji ponad 3 razy.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster