Το έργο Pyston, το οποίο προσφέρει την Python με έναν μεταγλωττιστή JIT, επέστρεψε σε ένα ανοιχτό μοντέλο ανάπτυξης

Οι προγραμματιστές του έργου Pyston, το οποίο προσφέρει μια εφαρμογή υψηλής απόδοσης της γλώσσας Python χρησιμοποιώντας σύγχρονες τεχνολογίες μεταγλώττισης JIT, παρουσίασαν μια νέα έκδοση του Pyston 2.2 και ανακοίνωσαν την επιστροφή του έργου στον ανοιχτό κώδικα. Η υλοποίηση στοχεύει στην επίτευξη υψηλών επιδόσεων κοντά σε αυτές των παραδοσιακών γλωσσών συστήματος όπως η C++. Ο κώδικας για τον κλάδο Pyston 2 δημοσιεύεται στο GitHub με την άδεια PSFL (Python Software Foundation License), παρόμοια με την άδεια CPython.

Ας θυμηθούμε ότι το έργο Pyston εποπτευόταν στο παρελθόν από το Dropbox, το οποίο σταμάτησε να χρηματοδοτεί την ανάπτυξη το 2017. Οι προγραμματιστές της Pyston ίδρυσαν την εταιρεία τους και κυκλοφόρησαν ένα σημαντικά επανασχεδιασμένο κλάδο Pyston 2, το οποίο κηρύχθηκε σταθερό και έτοιμο για ευρεία χρήση. Ταυτόχρονα, οι προγραμματιστές σταμάτησαν να δημοσιεύουν τον πηγαίο κώδικα και στράφηκαν στην παροχή μόνο δυαδικών συγκροτημάτων. Τώρα αποφασίστηκε να γίνει ξανά η Pyston έργο ανοιχτού κώδικα και να μεταφερθεί η εταιρεία σε ένα επιχειρηματικό μοντέλο που σχετίζεται με την ανάπτυξη λογισμικού ανοιχτού κώδικα. Επιπλέον, εξετάζεται η δυνατότητα μεταφοράς βελτιστοποιήσεων από την Pyston στο τυπικό CPython.

Σημειώνεται ότι η Pyston 2.2 είναι 30% ταχύτερη από την τυπική Python σε δοκιμές απόδοσης που αξιολογούν τα φορτία που ενυπάρχουν σε εφαρμογές διακομιστή ιστού. Υπάρχει επίσης σημαντική αύξηση στην απόδοση στο Pyston 2.2 σε σύγκριση με προηγούμενες εκδόσεις, η οποία επιτεύχθηκε κυρίως μέσω της προσθήκης βελτιστοποιήσεων για νέες περιοχές, καθώς και βελτιώσεων στο JIT και στους μηχανισμούς προσωρινής αποθήκευσης.

Εκτός από τις βελτιστοποιήσεις απόδοσης, η νέα έκδοση είναι επίσης ενδιαφέρουσα επειδή μεταφέρει αλλαγές από τον κλάδο του CPython 3.8.8. Όσον αφορά τη συμβατότητα με την εγγενή Python, το έργο Pyston διαφημίζεται ως η πιο συμβατή με CPython εναλλακτική υλοποίηση, καθώς το Pyston είναι ένα fork από την κύρια βάση κώδικα CPython. Η Pyston υποστηρίζει όλες τις δυνατότητες του CPython, συμπεριλαμβανομένου του C API για την ανάπτυξη επεκτάσεων στη γλώσσα C. Μεταξύ των βασικών διαφορών μεταξύ Pyston και CPython είναι η χρήση του DynASM JIT, η ενσωματωμένη προσωρινή αποθήκευση και γενικές βελτιστοποιήσεις.

Μεταξύ των αλλαγών στο Pyston 2.2, αναφέρεται επίσης ο καθαρισμός της βάσης κώδικα από πολλές δυνατότητες εντοπισμού σφαλμάτων του CPython, οι οποίες επηρεάζουν αρνητικά την απόδοση, αλλά σχεδόν δεν είναι περιζήτητες μεταξύ των προγραμματιστών. Δίνονται στατιστικά στοιχεία σύμφωνα με τα οποία η κατάργηση των εργαλείων εντοπισμού σφαλμάτων οδηγεί σε επιτάχυνση 2%, παρά το γεγονός ότι μόνο το 2% περίπου των προγραμματιστών χρησιμοποιεί αυτές τις λειτουργίες.

Πηγή: opennet.ru

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