Ariadne Conill, die Schöpferin des Musikplayers Audacious, Initiatorin der Entwicklung des Protokolls IRCv3 und Leiterin des Sicherheitsteams von Alpine Linux, fĂŒhrte eine Untersuchung durch, wie die cat-Utility optimiert werden kann, um einen oder mehrere Dateien an den Standardausgabestrom auszugeben. Um die Leistung von cat in Linux zu verbessern, wurden zwei OptimierungsansĂ€tze vorgeschlagen, die auf den Systemaufrufen sendfile und splice basieren, um Daten direkt zwischen Dateideskriptoren auf Kernel-Ebene ohne Kontextwechsel in den Benutzermodus zu kopieren.
Die grundlegende Implementierung, die traditionelle Aufrufe von read und write verwendet, die zu einem Kontextwechsel fĂŒhren, zeigte beim Kopieren einer 4-GB-Datei aus tmpfs eine Leistung von 3,6 GB/s. Die Variante auf Basis von sendfile erhöhte die Leistung auf 6,4 GB/s, wĂ€hrend die Variante auf Basis von splice auf 11,6 GB/s kam, d.h. sie war schneller als die Ausgangsvariante um mehr als das Dreifache.
Quelle: opennet.ru
