Rumah >pembangunan bahagian belakang >Tutorial Python >Prestasi Python 3.11 telah meningkat hampir 64%!

Prestasi Python 3.11 telah meningkat hampir 64%!

王林
王林ke hadapan
2023-04-24 12:46:071341semak imbas

Prestasi Python 3.11 telah meningkat hampir 64%!

Bukan rahsia lagi bahawa Python bukanlah bahasa pengaturcaraan yang pantas. Ramai pembangun menantikan penambahbaikan dalam prestasi bahasa ini Situasi ini mungkin akan berubah, atau sekurang-kurangnya bergerak ke arah yang betul kerja.

Pada 7 Mei, pasukan Python mengeluarkan versi Python terbaharu - Python 3.11. Apa yang dikeluarkan pada masa ini ialah versi beta (Beta1) untuk digunakan oleh pembangun untuk ujian atau percubaan.

Prestasi Python 3.11 telah meningkat hampir 64%!

Menurut peraturan yang ditetapkan oleh pasukan pembangunan, versi rasmi dijangka dikeluarkan pada Oktober 2022.

Seorang netizen yang ingin tahu mengujinya pada mesin mayanya sendiri. Dia memasang Python 3.10 dan 3.11 dalam bekas Docker yang berasingan dan melihat bagaimana ia dibandingkan dalam satu set ujian penanda aras.

Pakej pyperformance digunakan untuk menyelesaikan kerja ini. Pakej ini akan membantu pembangun menyelesaikan kerja ujian penanda aras yang berat.

Data ringkasan, berdasarkan nilai purata, Python 3.11 adalah 14% lebih pantas daripada Python 3.10. Versi 3.11 baharu adalah lebih perlahan sedikit pada beberapa penanda aras, tetapi 64% lebih pantas pada kebanyakan penanda aras.

Berikut ialah ujian penanda aras yang dijalankan pada M1 Pro MacBook Pro 16 dengan CPU 10 teras. Setiap versi Python dipasang di Docker, yang menggunakan 5 teras CPU logik.

Berikut ialah data berjalan bagi pakej yang berbeza:

Prestasi Python 3.11 telah meningkat hampir 64%!

Pada masa ini, versi rasmi Python 3.11 belum dikeluarkan secara rasmi dikeluarkan, dan anda perlu menunggu yang lengkap Versi stabil kini hanya menguji versi calon Mungkin jurang antara kedua-duanya akan menjadi lebih besar selepas versi rasmi dikeluarkan.

Laporan berkaitan: Percepatkan sebanyak 25%! CPython 3.11 akan datang

Ditulis oleh Luo Qiqi, dihasilkan oleh | Komuniti Sumber Terbuka OSC (ID: oschina2013)

Selepas bersara dan kembali menyertai pasukan CPython Microsoft Faster , Guido van Rossum, bapa Python, mengeluarkan kata-kata kasar pada Sidang Kemuncak Bahasa Python 2021, mengatakan bahawa pasukan itu akan mencapai sekurang-kurangnya 1x kelajuan dalam versi 3.11 Python.

Prestasi Python 3.11 telah meningkat hampir 64%!

Pada Sidang Kemuncak Bahasa Python tahun ini, Guido dan rakan kongsi pasukan Mark Shannon melaporkan kemajuan terkini: berbanding dengan versi 3.10, kelajuan CPython 3.11 ialah 10 - Antara 60%, bergantung pada keadaan seperti saiz kod dan kawasan kerja. CPython 3.11 secara purata 25% lebih pantas daripada CPython 3.10 apabila disusun dengan GCC pada Ubuntu Linux seperti yang diukur menggunakan suite penanda aras pyperformance.

Prestasi Python 3.11 telah meningkat hampir 64%!

Peningkatan prestasi CPython 3.11 tertumpu terutamanya pada permulaan yang lebih pantas dan masa jalan yang lebih pantas Kebanyakan pengoptimuman ini datang daripada PEP 659: Adaptive Interpreter , idea pengendaliannya agak serupa dengan JIT, kedua-duanya mengenal pasti kod panas, tetapi skop kerja penterjemah adaptif tidak boleh dipisahkan daripada bytecode. Kerja pada cadangan PEP 659 hampir selesai, tetapi pengoptimuman dinamik untuk gelung dan operasi binari masih perlu diselesaikan.

Sementara mempercepatkan sebanyak 25%, Python 3.11 masih mempunyai beberapa bahagian untuk penambahbaikan Contohnya, penggunaan memori Python dalam 3.11 pada asasnya sama seperti dalam 3.10.

Selain itu, kita perlu memberi perhatian kepada isu sambungan C: Antara muka ringkas CPython dengan C adalah kelebihan utama, tetapi ketidakserasian dengan sambungan C adalah kelemahan utama. Kerja pengoptimuman yang dilakukan oleh pasukan Faster CPython dalam CPython 3.11 sebahagian besarnya telah mengabaikan isu modul sambungan Dalam hal ini, ketua pasukan Shannon berkata bahawa pasukan itu sedang meneroka kemungkinan untuk mendedahkan API fungsi peringkat rendah kepada mesin maya untuk Mengurangkan kod Python. dan kod C sebanyak mungkin.

Bagi penyusun JIT yang dinanti-nantikan, Shannon berkata bahawa langkah pertama untuk melaksanakan JIT ialah melaksanakan penterjemah pengesanan, tetapi pada masa ini terdapat terlalu banyak projek yang memerlukan perhatian dan kerja-kerja memperkenalkan Penyusun JIT Masih ada beberapa cara untuk pergi, "ia mungkin tidak tiba sehingga 3.13 paling awal." (Dengan cara ini, Shannon sentiasa ragu-ragu sama ada CPython benar-benar perlu memperkenalkan JIT.)

Menariknya, semalam kami melaporkan cadangan baharu pemaju Sam Gross: alih keluar sepenuhnya tafsiran CPython GIL - Global Interpreter Lock . Cadangan ini dan kerja pasukan Faster CPython akan mempercepatkan kod Python berbilang benang dengan cara yang sama sekali berbeza, tetapi kedua-duanya mungkin mewujudkan beberapa konflik Lagipun, sebahagian besar pengoptimuman yang telah dilaksanakan oleh Faster CPython adalah berdasarkan premis bahawa GIL masih wujud.

Nota: Pada mesyuarat pecut pembangun teras tahun lepas, pembangun teras menjalankan perbincangan mendalam tentang projek nogil dengan Sam Gross dan menjawab banyak soalan yang semua orang lebih prihatin. Untuk minit mesyuarat tertentu, sila lihat artikel ini - Seminar Rasmi Python: Adakah ia benar-benar boleh untuk mengalih keluar GIL sepenuhnya?

Atas ialah kandungan terperinci Prestasi Python 3.11 telah meningkat hampir 64%!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam