Guido van Rossum menyasarkan untuk mencapai peningkatan prestasi 3.11x ganda dalam CPython XNUMX

Guido van Rossum, pencipta bahasa pengaturcaraan Python, bercakap tentang rancangan untuk mengoptimumkan prestasi CPython dalam laporannya di Sidang Kemuncak Bahasa Python. Dengan versi 3.11, yang dijangka pada 2022, pembangun berharap dapat menggandakan prestasi. Projek pengoptimuman CPython sedang dijalankan oleh sekumpulan kecil pembangun dari Microsoft, tempat Guido menyertainya baru-baru ini.

Semasa melaksanakan projek, pembangun berhasrat untuk mematuhi beberapa sekatan, seperti mengekalkan keserasian penuh pada tahap ABI dan kod, serta ketidakbolehterimaan untuk meningkatkan prestasi disebabkan kelembapan dalam kes kelebihan. Antara komponen yang boleh diubah untuk meningkatkan prestasi ialah bytecode, penempatan data dalam ingatan, compiler dan interpreter.

Perkembangan projek diterbitkan dalam repositori cpython lebih pantas yang berasingan. Salah seorang peserta projek, yang sebelum ini membangunkan pengkompil JIT HotPy untuk CPython, menerbitkan rancangan yang menurutnya dia anggap realistik untuk meningkatkan produktiviti sebanyak lima kali ganda dan mencapai keputusan ini dalam keluaran Python 3.13. Projek ini dibahagikan kepada empat peringkat:

  • Python 3.10 merancang untuk melaksanakan pengoptimuman dalam penterjemah yang berkaitan dengan menyesuaikan proses tafsiran kepada jenis dan nilai semasa runtime.
  • Keluaran Python 3.11 dijangka akan memperkenalkan penambahbaikan pada masa jalan dan objek utama, serta kemasukan banyak pengoptimuman khusus kecil, seperti mempercepatkan operator binari dan bekerja dengan nilai integer yang sesuai dalam satu perkataan mesin, mempercepatkan memanggil dan kembali daripada fungsi, mengurangkan overhed semasa operasi dengan pengendalian memori dan pengecualian.
  • Python 3.12 akan memperkenalkan pengkompil JIT mudah untuk sebahagian kecil kod khusus.
  • Python 3.13 akan menambah keupayaan penjanaan kod asli masa jalan baharu dan penggunaan yang diperluaskan pengkompil JIT.

Sumber: opennet.ru

Tambah komen