Ariadne Conill, creatrice del lettore musicale Audacious, iniziatrice dello sviluppo del protocollo IRCv3 e leader del team di sicurezza di Alpine Linux, ha condotto una ricerca su quanto sia possibile ottimizzare l'utilità cat, che esegue l'output su uno o più file nel flusso di output standard. Per migliorare le prestazioni di cat in Linux, sono state proposte due opzioni di ottimizzazione basate sull'uso delle chiamate di sistema sendfile e splice per la copia diretta dei dati tra i descrittori di file a livello di kernel senza cambiare il contesto nello spazio utente.
L'implementazione di base, che utilizza le tradizionali chiamate read e write, che comportano il passaggio di contesto, durante la copia di un file da 4 GB da tmpfs ha mostrato prestazioni di 3.6 GB/s. L'opzione basata su sendfile ha consentito di aumentare le prestazioni a 6.4 GB/s, mentre l'opzione basata su splice è arrivata a 11.6 GB/s, risultando quindi oltre tre volte più veloce dell'opzione originale.
Fonte: opennet.ru
