Ο Guido van Rossum στοχεύει να επιτύχει 3.11 φορές αύξηση απόδοσης στο CPython XNUMX

Ο Guido van Rossum, ο δημιουργός της γλώσσας προγραμματισμού Python, στην έκθεσή του στο συνέδριο Python Language Summit, μίλησε για σχέδια βελτιστοποίησης της απόδοσης του CPython. Με την έκδοση 3.11, η οποία αναμένεται το 2022, οι προγραμματιστές ελπίζουν να επιτύχουν διπλή αύξηση στην απόδοση. Το έργο βελτιστοποίησης CPython διευθύνεται από μια μικρή ομάδα προγραμματιστών από τη Microsoft, στην οποία εντάχθηκε πρόσφατα ο Guido.

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

Οι εξελίξεις του έργου δημοσιεύονται σε ξεχωριστό αποθετήριο faster-cpython. Ένα από τα μέλη του έργου, που ανέπτυξε προηγουμένως τον μεταγλωττιστή JIT HotPy για το CPython, δημοσίευσε ένα σχέδιο που καθιστά ρεαλιστικό την επίτευξη πέντε φορές την απόδοση και την επίτευξη αυτού του αποτελέσματος στην κυκλοφορία της Python 3.13. Το έργο χωρίζεται σε τέσσερα στάδια:

  • Στην Python 3.10, σχεδιάζουμε να εφαρμόσουμε βελτιστοποιήσεις στον διερμηνέα που σχετίζονται με την προσαρμογή της διαδικασίας ερμηνείας σε τύπους και τιμές κατά το χρόνο εκτέλεσης.
  • Η κυκλοφορία της Python 3.11 αναμένεται να φέρει βελτιώσεις στον χρόνο εκτέλεσης και στα βασικά αντικείμενα, καθώς και στη συμπερίληψη πολλών μικρών εξειδικευμένων βελτιστοποιήσεων, όπως η επιτάχυνση δυαδικών τελεστών και η εργασία με ακέραιες τιμές που χωρούν σε μία λέξη μηχανής, επιτάχυνση της κλήσης και επιστροφή από λειτουργίες, μειώνοντας τη μνήμη του χρόνου εκτέλεσης και τον χειρισμό εξαιρέσεων.
  • Η Python 3.12 θα εισαγάγει έναν απλό μεταγλωττιστή JIT που μπορεί να χρησιμοποιηθεί για μια μικρή ποσότητα εξειδικευμένου κώδικα.
  • Η Python 3.13 θα προσθέσει νέες δυνατότητες για τη δημιουργία εγγενούς κώδικα κατά το χρόνο εκτέλεσης και θα επεκτείνει τη χρήση του μεταγλωττιστή JIT.

Πηγή: opennet.ru

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