Une expérience pour améliorer l'efficacité de l'utilitaire cat

Ariadne Conill, créatrice du lecteur de musique Audacious, initiatrice du protocole IRCv3 et chef de l'équipe de sécurité d'Alpine Linux, a mené des recherches sur la façon d'optimiser l'utilitaire cat, qui génère un ou plusieurs fichiers vers le flux de sortie standard. Pour améliorer les performances de cat sous Linux, deux optimisations sont proposées, basées sur l'utilisation des appels système sendfile et splice pour copier directement les données entre les descripteurs de fichiers au niveau du noyau sans basculer de contexte vers l'espace utilisateur.

L'implémentation de base, utilisant des appels de lecture et d'écriture traditionnels menant à un changement de contexte, a montré des performances de 4 Go/s lors de la copie d'un fichier de 3.6 Go à partir de tmpfs. L'option basée sur sendfile a augmenté les performances à 6.4 Go/s, et l'option basée sur l'épissure a augmenté les performances à 11.6 Go/s, c'est-à-dire s'est avéré être plus de 3 fois plus rapide que la version originale.

Source: opennet.ru

Ajouter un commentaire