Gzip, ένα από τα πιο ευρέως χρησιμοποιούμενα εργαλεία σε περιβάλλοντα Linux για συμπίεση και αποσυμπίεση αρχείων, έλαβε νέα ενημέρωση μετά από σχεδόν δύο χρόνια αναμονής.. La έκδοση 1.14 έχει κυκλοφορήσει επίσημα και περιλαμβάνει σημαντική βελτίωση στην απόδοση κατά την αποσυμπίεση αρχείων, ειδικά σε συστήματα με αρχιτεκτονική Intel και AMD x86_64.
Αυτή η έκδοση εστιάζει κυρίως στις βελτιστοποιήσεις απόδοσης αντί στην προσθήκη νέων λειτουργιών. Αν και ο αριθμός των αλλαγών κώδικα είναι περιορισμένος, η βελτίωση στην ταχύτητα αποσυμπίεσης είναι ιδιαίτερα σημαντική για χρήστες που χειρίζονται μεγάλους όγκους δεδομένων ή συστήματα με περιορισμένους πόρους. Για ταχύτερη συμπίεση, ίσως αξίζει να εξερευνήσετε εργαλεία όπως Zstd.
Βελτιώσεις απόδοσης χάρη στις νέες οδηγίες
Μία από τις μεγαλύτερες προόδους στο Gzip 1.14 είναι το Ενσωμάτωση μιας νέας προσέγγισης για τον υπολογισμό των CRC (Cyclic Redundancy Checks), γνωστός ως αλγόριθμος «slice by 8». Αυτή η μέθοδος, σε συνδυασμό με τη χρήση των οδηγιών PCLMULQDQ (Carry-less Multiplication Quadword), επιτρέπει σημαντική επιτάχυνση της αποσυμπίεσης. Αυτές οι οδηγίες είναι διαθέσιμες σε επεξεργαστές Intel ξεκινώντας με την αρχιτεκτονική Westmere και σε τσιπ AMD ξεκινώντας με Bulldozer, επομένως καλύπτουν ένα ευρύ φάσμα εξοπλισμού που κατασκευάστηκε τα τελευταία 10-15 χρόνια.
Οι δοκιμές που έγιναν το δείχνουν Αυτές οι βελτιστοποιήσεις μπορούν να μειώσουν τον χρόνο που απαιτείται για την αποσυμπίεση αρχείων κατά περίπου 13%. Αν και τα στοιχεία μπορεί να διαφέρουν ανάλογα με το υλικό και τον τύπο των δεδομένων που συμπιέζονται, αυτή είναι μια απτή βελτίωση που μπορεί να έχει θετικό αντίκτυπο, ειδικά σε περιβάλλοντα όπου εκτελούνται πολλαπλές λειτουργίες αποσυμπίεσης καθημερινά. Αυτό μπορεί να φανεί στις υπηρεσίες συμπίεσης που επιδιώκουν να ελαχιστοποιήσουν τον χρόνο αναμονής.
Ένα από τα μεγάλα πλεονεκτήματα αυτής της αλλαγής είναι ότι δεν απαιτεί υλικό αιχμής για να επωφεληθεί. Επεξεργαστές που υποστηρίζουν οδηγίες PCLMUL κυκλοφορούν στην αγορά για πάνω από μια δεκαετία, επομένως τα περισσότερα τρέχοντα συστήματα που βασίζονται σε Intel ή AMD διαθέτουν ήδη αυτή τη δυνατότητα ενσωματωμένη.
Αυτό σημαίνει ότι οι περισσότεροι χρήστες του Linux και άλλων πλατφορμών που χρησιμοποιούν Gzip θα μπορούν να το κάνουν παρατηρήστε τη βελτίωση απλώς ενημερώνοντας το εργαλείο. Δεν χρειάζεται να τροποποιήσετε τις διαμορφώσεις ή να μεταγλωττίσετε προσαρμοσμένες εκδόσεις, κάνοντας την υιοθέτηση πολύ πιο εύκολη.
Άλλες μικρές αλλαγές στο Gzip 1.14
Παρά το μεγάλο χρονικό διάστημα που έχει περάσει από την τελευταία έκδοση, το Gzip 1.14 δεν εισάγει ένα μεγάλο σύνολο νέων χαρακτηριστικών ή δραματικών τροποποιήσεων. Εκτός από τη νέα προσέγγιση για τον υπολογισμό του CRC και την ενσωμάτωση των οδηγιών PCLMUL, οι προγραμματιστές έχουν εφαρμόσει ορισμένες διορθώσεις σφαλμάτων και μικρές εσωτερικές τροποποιήσεις.
Οι ενδιαφερόμενοι μπορούν να συμβουλευτούν την πλήρη λίστα αλλαγών και να κατεβάσουν τον πηγαίο κώδικα από το επίσημη ανακοίνωση της έκδοσης. Ενώ οι περισσότερες από τις νέες δυνατότητες επικεντρώνονται στην απόδοση, ενδέχεται να υπάρχουν άλλες τεχνικές λεπτομέρειες σχετικές με προχωρημένους χρήστες ή διαχειριστές συστημάτων που διαχειρίζονται κρίσιμα για την αποστολή περιβάλλοντα όπου χρησιμοποιούνται εντατικές διαδικασίες συμπίεσης και αποσυμπίεσης.
Το Gzip είναι ένα βασικό εργαλείο για δεκαετίες στον κόσμο του Unix και του Linux και Αν και η εξέλιξή του ήταν αργή, συνεχίζει να προσαρμόζεται στις τεχνολογικές αλλαγές. Η έκδοση 1.14 δεν φέρνει επανάσταση στη λειτουργία του προγράμματος, αλλά καταδεικνύει ότι υπάρχουν ακόμα βελτιώσεις που πρέπει να γίνουν σε θεμελιώδεις πτυχές όπως η απόδοση της αποσυμπίεσης.
Εφαρμόζοντας τους υπολογισμούς CRC πιο αποτελεσματικά και αξιοποιώντας τις δυνατότητες υλικού που έχουν ήδη αναπτυχθεί ευρέως, Αυτή η ενημέρωση αντιπροσωπεύει ένα σταθερό τεχνικό βήμα προς τα εμπρός. Είναι ιδιαίτερα χρήσιμο σε περιβάλλοντα διακομιστή ή αυτοματοποιημένες εργασίες όπου κάθε δευτερόλεπτο μετράει και όπου η βελτιστοποίηση πόρων χωρίς την ανάγκη μεγάλων επενδύσεων αποτελεί προτεραιότητα.