Eksperyment mający na celu poprawę wydajności narzędzia dla kota

Ariadne Conill, twórczyni odtwarzacza muzycznego Audacious, inicjatorka protokołu IRCv3 i liderka zespołu ds. bezpieczeństwa Alpine Linux, przeprowadziła badania nad optymalizacją narzędzia cat, które wysyła jeden lub więcej plików do standardowego strumienia wyjściowego. Aby poprawić wydajność cat w systemie Linux, zaproponowano dwie optymalizacje, polegające na wykorzystaniu wywołań systemowych sendfile i splice do bezpośredniego kopiowania danych pomiędzy deskryptorami plików na poziomie jądra bez przełączania kontekstu do przestrzeni użytkownika.

Podstawowa implementacja, wykorzystująca tradycyjne wywołania odczytu i zapisu prowadzące do przełączania kontekstu, wykazała wydajność 4 GB/s podczas kopiowania pliku o rozmiarze 3.6 GB z tmpfs. Opcja oparta na pliku wysyłającym zwiększyła wydajność do 6.4 GB/s, a opcja oparta na splocie zwiększyła wydajność do 11.6 GB/s, tj. okazała się ponad 3 razy szybsza niż wersja pierwotna.

Źródło: opennet.ru

Dodaj komentarz