ΕΛ/ΛΑΚ | creativecommons.gr | mycontent.ellak.gr |
freedom

Οι «ταχύτερες» διανομές και τα ανούσια benchmarks

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

Και, βεβαίως, οι χρήστες αυτοί δεν παραλείπουν να κομπάσουν για όσα νομίζουν ότι αποτελούν σπουδαίο κατόρθωμα, κάτι που προκαλεί τις γνωστές, ανόητες κόντρες για τον «γρηγορότερο» διαχειριστή πακέτων, το «ταχύτερο» σύστημα init και πάει λέγοντας.

Παραθέτουν, μάλιστα, διάφορα benchmarks που πιστεύουν ότι ενισχύουν τα λεγόμενά τους, ενώ δεν είναι λίγοι και οι χρήστες που τα θεωρούν σημαντικό κριτήριο κατά την επιλογή κάποιας διανομής. Μόνο που τα benchmarks δε σημαίνουν τίποτα, όπως θα δούμε στη συνέχεια, και ο συνηθέστερος τρόπος χρήσης τους αποτελεί ξεκάθαρη παραπληροφόρηση —ακόμα και αν αυτή δε γίνεται σκόπιμα.

Τα benchmarks και η παραπληροφόρηση

Ένα benchmark είναι, πολύ απλοποιημένα, μια διαδικασία σύγκρισης λογισμικών ή υλισμικών υπό κάποιες προσδιορισμένες παραμέτρους. Υπάρχουν αρκετά «διάσημα» benchmarks εκεί έξω και τουλάχιστον μία σχετική ιστοσελίδα που ασχολείται και με το Linux, την οποία πολλοί χρήστες επικαλούνται ως «αυθεντία» στον τομέα παρότι έχει επικριθεί για ανακρίβειες και παρατυπίες στον τρόπο που τα διεξάγει.

Τα benchmarks χωρίζονται σε δύο βασικές κατηγορίες: αυτά του «πραγματικού κόσμου» όπου προσομοιώνονται ρεαλιστικές συνθήκες χρήσης (που σπανίζουν, όμως, στην καθημερινότητα του μέσου χρήστη), και τα «συνθετικά» που γίνονται από εξειδικευμένα λογισμικά. Τα πρώτα δίνουν μια εικόνα για τη γενική απόδοση ενός συστήματος, ενώ τα δεύτερα ελέγχουν αποκλειστικά τη λειτουργία των επιμέρους τμημάτων, όπως η CPU ή η κάρτα γραφικών, βαθμολογώντας με βάση τις επιδόσεις των ίδιων στοιχείων σε άλλες δοκιμές.

Πριν θαμπωθούμε, όμως, από τους αριθμούς και τα γραφήματα, θα πρέπει να θυμόμαστε μερικά σημαντικά σημεία που η αναφορά τους παραλείπεται κατά την παρουσίαση των αποτελεσμάτων ενός benchmark, και αυτό έχει ως συνέπεια ο μέσος χρήστης-αναγνώστης να μην τα λαμβάνει απόψη του.

Κρυφές αλήθειες των bechmarks

  • Κάθε benchmark ελέγχει διαφορετικά, πολύ συγκεκριμένα στοιχεία, όπως είναι η αποκρισιμότητα, η ταχύτητα κ.ά., αγνοώντας κάθε άλλη παράμετρο.
  • Όλα τα benchmarks επηρεάζονται, λιγότερο ή περισσότερο, από τις τρέχουσες συνθήκες (θερμοκρασία περιβάλλοντος, εσωτερική θερμοκρασία υπολογιστή, παλαιότητα εξαρτημάτων κλπ.).
  • Κανένα benchmark δεν αντικατοπτρίζει απόλυτα πραγματικές συνθήκες χρήσης και, φυσικά, δε μπορεί να καλύψει κάθε πιθανό συνδυασμό ενεργειών.
  • Είναι πολύ εύκολο να αλλοιωθούν τα αποτελέσματα οποιουδήποτε benchmark προς την επιθυμητή κατεύθυνση.

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

Συγκρίνοντας ανόμοια πράγματα

Μια ακόμα κρίσιμη αστοχία που συναντάται στα περισσότερα benchmarks είναι η σύγκριση ανόμοιων πραγμάτων. Αυτό από μόνο του αρκεί για να ακυρώσει την όποια αξιοπιστία και μπορεί να συμβεί ακούσια αλλά και εκούσια, με τη δεύτερη περίπτωση να συνοδεύεται από σκόπιμη απόκρυψη πληροφοριών και να αποτελεί γνωστή πρακτική προώθησης που ακολουθούν τόσο οι κατασκευαστές ή οι δημιουργοί λογισμικού όσο και διάφοροι «reviewers».

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

Σε μια τέτοια περίπτωση, όμως, αποκρύπτονται σημαντικές αλήθειες (εδώ οι βελτιστοποιήσεις και το «προκατειλημμένο» benchmark), ενδεχομένως και άλλα σημεία στα οποία η διανομή που προωθούμε μπορεί να χωλαίνει. Συνεπώς, αυτό που παρουσιάζεται μέσω των αποτελεσμάτων είναι μια κατασκευασμένη πραγματικότητα που, σίγουρα, δεν εξυπηρετεί τον χρήστη.

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

Benchmarks, στατιστικά και μια τρύπα στο νερό

Κυκλοφορεί, λοιπόν, ένα αποκαλούμενο «speed test» μεταξύ των διανομών Arch Linux, Manjaro, Garuda Linux και EndeavourOS. Επέλεξα αυτό γιατί τυγχάνει να γνωρίζω τα ενδότερα όλων τους και έτσι μπορώ να κρίνω την εγκυρότητα των αναφορών.

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

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

Αυτά είναι εξόχως σημαντικά, αφού πολύ συχνά μια μεταγενέστερη έκδοση πυρήνα παρέχει καλύτερη απόδοση από την τρέχουσα LTS ή επιπλέον υποστήριξη για το μηχάνημα στο οποίο τρέχει. Ομοίως, η ποιότητα ενός θέματος ή των εικονιδίων μπορεί να επηρεάσει την απόδοση του γραφικού περιβάλλοντος. Κάτι τέτοιο, όμως, δεν αναφέρεται στο βίντεο.

Συνεχίζουμε με τον χρόνο εκκίνησης και επανεκκίνησης των διανομών, ένα από τα αγαπημένα χαρακτηριστικά των «reviewers» και όλων των «speed freaks», που δεν έχει καμία απολύτως σημασία, καθώς οι δοκιμαζόμενες διανομές μπορεί να χρησιμοποιούν το ίδιο σύστημα init αλλά όχι και τον ίδιο αριθμό διεργασιών και υπηρεσιών συστήματος. Επιπλέον, όσο και αν αυτό φαίνεται περίεργο σε ορισμένους, οι συνθήκες εντός του μηχανήματος δεν είναι ποτέ ίδιες σε κάθε εκκίνηση ή επανεκκίνηση.

Benchmark χρόνου εκκίνησης διανομών
Δείχνουμε τον χρόνο εκκίνησης αλλά δε λέμε τίποτα για τις διεργασίες που εκκινούνται. Επιτυχία!

Έπειτα, έχουμε την απαραίτητη παρουσίαση της κατανάλωσης RAM, με την εντολή htop. Εδώ ο μέσος χρήστης σκέφτεται πως λιγότερη δεσμευμένη μνήμη σημαίνει «καλύτερη» διανομή, λανθάνοντας και πάλι, καθώς δεν αναφέρεται με ποιον τρόπο χρησιμοποιείται η RAM ή αν απλά δεσμεύεται χωρίς πρακτικό αποτέλεσμα.

Για του λόγου το αληθές, ο παρουσιαστής δε μας λέει ότι το Garuda Linux, η διανομή που εμφανίζει τη μεγαλύτερη -σχεδόν διπλάσια- κατανάλωση μνήμης και φαίνεται «χειρότερη» σε αυτόν τον τομέα, την αξιοποιεί σε συγκεκριμένες βελτιστοποιήσεις, όπως θα δούμε παρακάτω.

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

Ακολουθούν μερικές ακόμα δοκιμές με επεξεργασία βίντεο και αντιγραφή μεγάλων αρχείων, και κατόπιν έρχονται τα συνθετικά benchmarks και οι ωραίες γραφικές απεικονίσεις των στατιστικών που όλοι γνωρίζουμε και μας αρέσουν αλλά δε λένε την αλήθεια. Η γκάμα περιλαμβάνει και τα γνωστά Unigine Valley και Geekbench, γιατί πώς αλλιώς θα κερδίσει σε αξιοπιστία μια άκυρη δοκιμή διανομών;

Αυτό που διαπιστώνεται είναι… αναμενόμενο. Οι διαφορές μεταξύ των τεσσάρων διανομών στα περισσότερα συνθετικά benchmarks που παρουσιάζονται είναι απειροελάχιστες, ενώ το μόνο όπου υπάρχει συγκριτικό μειονέκτημα αφορά τη λειτουργία με έναν ή με πολλαπλούς πυρήνες του επεξεργαστή. Σε αυτό το σημείο παίζει ρόλο η υποστήριξη που παρέχει ο πυρήνας Linux, με αποτέλεσμα να «χάνει» η μοναδική διανομή που χρησιμοποιεί την LTS έκδοση (τα είπαμε παραπάνω).

Σύγκριση απόδοσης της CPU σε διανομές Linux
Ένα ωραίο γραφικό που δε λέει τίποτα ιδιαίτερο.

Ο «επαΐων» παρουσιαστής μας είχε τη φαεινή ιδέα να ξανατρέξει τα ίδια συνθετικά benchmarks αφού πραγματοποιήσει τις διαθέσιμες αναβαθμίσεις στην κάθε διανομή, όμως δεν τα κατάφερε για τις δύο από αυτές και συνέχισε τη σύγκριση με τις υπόλοιπες. Κάπου εδώ η παρουσίαση έχασε εντελώς το νόημά της και εγώ το λιγοστό ενδιαφέρον μου.

Ποια ήταν, όμως, τα τελικά του συμπεράσματα; Μας αναφέρει ότι η αναβάθμιση της έκδοσης του πυρήνα μπορεί να βελτιώσει την απόδοση μιας διανομής, πως οι μικροδιαφορές στα αποτελέσματα των συνθετικών benchmarks εμπίπτουν στα περιθώρια λάθους και ότι, όταν πρόκειται για πραγματικές συνθήκες χρήσης, προκρίνεται η μόνη διανομή που έχει βελτιστοποιηθεί για αυτόν τον σκοπό.

Αν κάποιος περίμενε κάτι περισσότερο από μια τρύπα στο νερό, μάλλον αυτό το βίντεο και τα στατιστικά του δε θα τον ικανοποιήσουν. Καθόλου τυχαία, η κατάσταση είναι παρόμοια όποτε έχουμε να κάνουμε με οποιοδήποτε benchmark διανομών.

Η θολή κουλτούρα του benchmarking

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

Δυστυχώς, όμως, τα χρώματα και οι αριθμοί πείθουν και μπορούν να γεμίσουν το πορτοφόλι του εκάστοτε παρουσιαστή ή γράφοντα, με αποτέλεσμα να εξακολουθεί να υπάρχει αυτή η θολή κουλτούρα του benchmarking με τους εκατοντάδες «μύστες» και τους φανατικούς οπαδούς. Εντούτοις, δεν είναι λίγες οι φορές που ένας χρήστης έχει βρεθεί στη δυσάρεστη θέση να διαπιστώσει ότι η «απίστευτα γρήγορη» εφαρμογή που είδε δεν έχει την ίδια απόδοση στο δικό του μηχάνημα.

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

Σε κάθε περίπτωση, να θυμάστε πάντα ότι ένα benchmark δείχνει απλά την απόδοση συγκεκριμένων στοιχείων με προκαθορισμένες παραμέτρους, σε επίσης συγκεκριμένες συνθήκες. Τίποτα άλλο.

Πηγή άρθρου: https://osarena.net/false-tech-007/

Leave a Comment