Η Python 3.12 κυκλοφόρησε με βελτιώσεις στην ταχύτητα και την αποτελεσματικότητα, όπως ανέφεραν οι βασικοί προγραμματιστές στο φετινό συνέδριο PyCon στο Salt Lake City της Utah.
Ανέφεραν επίσης τις προσπάθειές τους για τη μείωση στην χρήση της μνήμης, τoν ταχύτερο interpreter και τη βελτιστοποίηση της μεταγλώττισης (compilation) για πιο αποτελεσματικό κώδικα.
Με τα subinterpreters ο χρόνος εκτέλεσης της Python μπορεί να έχει πολλούς interpreters που τρέχουν μαζί μέσα σε μια ενιαία διεργασία, σε αντίθεση με τρέχει ο κάθε interpreters απομονωμένος στη δική του διεργασία. Αν και τα subinterpreters ήταν διαθέσιμα στο χρόνο εκτέλεσης της Python, δεν διέθεταν κάποια διεπαφή για τον τελικό χρήστη. Επίσης, η ακαταστασία των εσωτερικών στοιχείων της Python δεν έχει επέτρεπε την αποτελεσματική χρήση των subinterpreters.
Με την Python 3.12, ο βασικός προγραμματιστής της Python Eric Snow και η ομάδα του καθάρισαν την Python αρκετά ώστε να κάνουν τα subinterpreters χρίσημα για όλους.
Η Python 3.11 έφερε νέα bytecode στον interpreter, που ονομαζόταν προσαρμοστικές εντολές (adaptive instructions). Αυτές οι εντολές μπορούσαν να αντικατασταθούν αυτόματα κατά το χρόνο εκτέλεσης με εκδόσεις εξειδικευμένες για έναν δεδομένο τύπο Python, μια διαδικασία που ονομάζεται quickening.
Αυτό εξοικονομούσε στον interpreter το βήμα να πρέπει κάνει για να αναζητήσει τους τύπους των αντικειμένων, επιταχύνοντας εξαιρετικά την όλη διαδικασία. Η Python 3.12 έχει ακόμα περισσότερες προσαρμοστικές εντολές…
Περισσότερες τεχνικές λεπτομέρειες
https://docs.python.org/3.12/whatsnew/3.12.html