Το Linux δεν είναι γρήγορο από τύχη - Η φιλοσοφία του Linus Torvalds

Η φιλοσοφία του Linus Torvalds για το Linux

Υπάρχει μια εύκολη απάντηση για την ταχύτητα του Linux: «είναι πιο ελαφρύ». Μόνο που η πραγματικότητα είναι πολύ πιο ενδιαφέρουσα.

Σε ένα σύντομο αλλά εξαιρετικά ενδιαφέρον βίντεο, ο δημιουργός του Linux, Linus Torvalds, εξηγεί τη σχέση του με το hardware, γιατί εξακολουθεί να εκτιμά τόσο πολύ τη γλώσσα C και τι κρύβεται πίσω από την απόδοση του Linux.

Και κατά τη γνώμη μου, αυτό που αξίζει περισσότερο να κρατήσεις δεν είναι κάποια συγκεκριμένη τεχνική λεπτομέρεια. Είναι ο τρόπος σκέψης.

Η ταχύτητα δεν έρχεται από «μαγικό» κώδικα

Ο Torvalds έχει μια πολύ στενή σχέση με το hardware. Θέλει να γνωρίζει τι πραγματικά συμβαίνει όταν ο επεξεργαστής εκτελεί έναν κώδικα, πώς χρησιμοποιείται η μνήμη και πού δημιουργούνται καθυστερήσεις.

Εδώ βρίσκεται και ένα μεγάλο μέρος της φιλοσοφίας του Linux.

Δεν αρκεί κάτι απλά να λειτουργεί. Αν μια λειτουργία εκτελείται εκατομμύρια φορές, ακόμη και μια πολύ μικρή περιττή καθυστέρηση μπορεί τελικά να κοστίζει αρκετά.

Χαρακτηριστικό παράδειγμα είναι οι βελτιώσεις που έχουν γίνει κατά καιρούς στον τρόπο με τον οποίο το Linux αναζητά αρχεία και διαδρομές. Με αλλαγές που περιόρισαν περιττά locks και άλλες ακριβές λειτουργίες, είχαν καταγραφεί σημαντικές βελτιώσεις ακόμη και σε συνηθισμένες εργασίες.

Και κάπου εδώ εμφανίζεται η… παλιά C

Η C δημιουργήθηκε πριν από περισσότερα από 50 χρόνια. Σε μια εποχή όπου όλοι μιλούν για σύγχρονες γλώσσες προγραμματισμού, θα μπορούσε εύκολα κάποιος να τη θεωρήσει ξεπερασμένη.

Όμως για έναν πυρήνα λειτουργικού συστήματος τα πράγματα είναι διαφορετικά.

Η C βρίσκεται πολύ κοντά στον τρόπο με τον οποίο λειτουργεί πραγματικά ένας υπολογιστής. Δεν προσπαθεί να κρύψει πολλές από τις λεπτομέρειες του hardware πίσω από δεκάδες επίπεδα αυτοματισμού.

Και αυτό δίνει στους προγραμματιστές του kernel μεγάλο έλεγχο.

Δεν σημαίνει φυσικά ότι η C είναι η «καλύτερη γλώσσα για τα πάντα». Σημαίνει ότι για ένα έργο όπως ο Linux kernel, όπου ακόμη και μια μικρή λεπτομέρεια στη χρήση της CPU ή της μνήμης μπορεί να έχει τεράστια σημασία, παραμένει ένα εξαιρετικά κατάλληλο εργαλείο.

Το Linux εξελίσσεται εδώ και δεκαετίες

Υπάρχει όμως και κάτι ακόμη που θεωρώ σημαντικό.

Το Linux δεν έγινε γρήγορο επειδή κάποιος κάθισε μία ημέρα και έγραψε έναν τέλειο πυρήνα.

Εξελίσσεται συνεχώς.

Χιλιάδες προγραμματιστές έχουν δουλέψει πάνω του, έχουν εντοπίσει μικρά προβλήματα απόδοσης, έχουν ξαναγράψει κομμάτια κώδικα και έχουν προσαρμόσει τον kernel σε νέες γενιές επεξεργαστών και συστημάτων.

Ακόμη και σήμερα, ο κώδικας του Linux περιλαμβάνει διαφορετικούς μηχανισμούς για την αναζήτηση διαδρομών αρχείων, ώστε στις κατάλληλες περιπτώσεις να αποφεύγονται πιο βαριές λειτουργίες.

Αυτή η συνεχής βελτίωση είναι ίσως σημαντικότερη από οποιοδήποτε μεμονωμένο «κόλπο».

Αυτό δεν σημαίνει ότι το Linux είναι πάντα ταχύτερο

Το ότι ο Linux kernel είναι εξαιρετικά βελτιστοποιημένος δεν σημαίνει ότι κάθε εφαρμογή στο Linux θα ανοίγει γρηγορότερα από την αντίστοιχη στα Windows ή ότι κάθε υπολογιστής θα αποκτήσει ξαφνικά διπλάσια απόδοση.

Παίζουν ρόλο οι drivers, το γραφικό περιβάλλον, οι εφαρμογές και φυσικά το ίδιο το hardware.

Το ενδιαφέρον βρίσκεται αλλού.

Το Linux αποτελεί ένα εντυπωσιακό παράδειγμα του τι μπορεί να συμβεί όταν ένα τεράστιο έργο λογισμικού εξελίσσεται για δεκαετίες με ιδιαίτερη προσοχή στην αποδοτικότητα.

Και ακούγοντας τον Linus Torvalds να μιλά για επεξεργαστές, cache, hardware και μικρές βελτιστοποιήσεις, καταλαβαίνεις κάτι πολύ απλό και ταυτόχρονα μπορείς να το κορνιζάρεις στο δωμάτιό σου:

Το Linux δεν είναι γρήγορο επειδή είναι Linux. Είναι γρήγορο επειδή εδώ και δεκαετίες υπάρχουν άνθρωποι που εξακολουθούν να νοιάζονται ακόμη και για το τελευταίο περιττό κλάσμα του δευτερολέπτου.

Και προσωπικά, θεωρώ ότι αυτή η νοοτροπία είναι ένα από τα πιο εντυπωσιακά χαρακτηριστικά ολόκληρου του Linux.

Συντάκτης του άρθρου: Κυριάκος Οικονομίδης

Αν θέλεις να υποστηρίξεις την προσπάθεια μας και να βλέπεις καθημερινά νέα άρθρα με δωρεάν υλικό, μπορείς να το κάνεις με μια δωρεά στο Paypal