Ένα πείραμα για τη βελτίωση της αποτελεσματικότητας του βοηθητικού προγράμματος γάτας

Η Ariadne Conill, δημιουργός του προγράμματος αναπαραγωγής μουσικής Audacious, εκκινητής του πρωτοκόλλου IRCv3 και επικεφαλής της ομάδας ασφαλείας Alpine Linux, διεξήγαγε έρευνα σχετικά με τον τρόπο βελτιστοποίησης του βοηθητικού προγράμματος cat, το οποίο εξάγει ένα ή περισσότερα αρχεία στην τυπική ροή εξόδου. Για να βελτιωθεί η απόδοση του cat στο Linux, προτείνονται δύο βελτιστοποιήσεις, που βασίζονται στη χρήση των κλήσεων συστήματος sendfile και splice για την απευθείας αντιγραφή δεδομένων μεταξύ των περιγραφών αρχείων σε επίπεδο πυρήνα χωρίς εναλλαγή περιβάλλοντος στο χώρο χρήστη.

Η βασική υλοποίηση, χρησιμοποιώντας παραδοσιακές κλήσεις ανάγνωσης και εγγραφής που οδηγούν σε εναλλαγή περιβάλλοντος, έδειξε απόδοση 4 GB/s κατά την αντιγραφή ενός αρχείου 3.6 GB από tmpfs. Η επιλογή που βασίζεται σε αρχείο αποστολής αύξησε την απόδοση στα 6.4 GB/s και η επιλογή που βασίζεται σε συμπίεση αύξησε την απόδοση στα 11.6 GB/s, δηλ. αποδείχθηκε ότι ήταν περισσότερο από 3 φορές πιο γρήγορο από την αρχική έκδοση.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο