Python 3.11 teka kanthi perbaikan kinerja, desain ulang cache lan liya-liyane

Python

Python minangka basa pamrograman sing diinterpretasikake tingkat dhuwur sing filosofi negesake keterbacaan kode kasebut.

Sawise taun pembangunan, versi anyar saka basa pamrograman Python 3.11 wis diterbitake, Cabang anyar bakal didhukung suwene setengah taun, sawise patch karo kerentanan bakal dibentuk sajrone telung setengah taun maneh.

Ing wektu sing padha, tes alpha saka cabang Python 3.12 diwiwiti (miturut jadwal pangembangan anyar, nggarap cabang anyar diwiwiti limang wulan sadurunge rilis cabang sadurunge lan tekan tes alpha nalika versi sabanjure).

Cabang Python 3.12 bakal ana ing rilis alpha suwene pitung sasi, sajrone fitur-fitur anyar bakal ditambahake lan kewan omo didandani. Sawise iku, tes beta bakal ditindakake sajrone telung wulan, sajrone tambahan fitur-fitur anyar bakal dilarang lan perhatian lengkap bakal diwenehake kanggo ndandani bug. Rong sasi pungkasan sadurunge diluncurake, cabang kasebut bakal ana ing tahap calon peluncuran, ing ngendi stabilisasi pungkasan bakal ditindakake.

Fitur anyar utama Python 3.11

Ing versi anyar iki Karya penting wis ditindakake kanggo ngoptimalake kinerja, minangka cabang anyar kalebu owah-owahan sing gegandhengan kanthi percepatan lan panyebaran inline saka telpon fungsi, panggunaan interpreter cepet saka operasi khas, uga optimasi sing disiapake dening proyek Cinder lan HotPy. Gumantung saka jinis beban, kacepetan eksekusi kode mundhak antarane 10% nganti 60%. Rata-rata, kinerja nalika ngliwati paket tes pyperformance mundhak 25%.

Mekanisme caching wis dirancang maneh saka bytecode, sing nyuda wektu wiwitan interpreter kanthi 10-15%. Obyek karo kode lan bytecode saiki statis diparengake dening interpreter, kang ndadekake iku bisa kanggo ngilangke langkah-langkah unraveling bytecode dijupuk saka cache lan Ngonversi obyek karo kode kanggo diselehake ing memori numpuk.

Ditambahake dhukungan kanggo grup pangecualian, sing menehi program kemampuan kanggo ngunggahake lan ngolah sawetara pangecualian sing beda ing wektu sing padha. Jinis pangecualian anyar ExceptionGroup lan BaseExceptionGroup diusulake kanggo nglumpukake macem-macem pengecualian bebarengan, lan ekspresi "kajaba * "ditambahake menyang pengecualian sing kapisah saka grup.

Nambahake jinis LiteralString khusus dadi piyambak bisa kalebu string literal sing kompatibel karo jinis LiteralString (yaiku, senar kosong lan senar jinis LiteralString, nanging ora sewenang-wenang utawa senar campuran saka jinis str). Jinis LiteralString bisa digunakake kanggo mbatesi passing argumen string menyang fungsi, substitusi sewenang-wenang saka bagean strings ngendi iku bisa mimpin kanggo vulnerabilities, contone, nalika ngasilaken strings kanggo SQL query utawa shell printah.

Kajaba iku, uga kemampuan kanggo nandhani unsur individu saka kamus kasedhiya (TypedDict) kanthi gendera sing Dibutuhake lan Ora Dibutuhake kanggo nemtokake kolom sing dibutuhake lan opsional (kanthi standar, kabeh kolom sing diumumake dibutuhake yen parameter total ora disetel menyang palsu).

Ditambahake @dataclass_transform kelas, metode lan dekorator fungsi, Nalika kasebut, mriksa jinis statis nganggep obyek kaya-kaya nggunakake @dataclasses.dataclass decorator.

Saka pangowahan liyane sing misuwur ing versi anyar iki:

  • Ditambahake kemampuan kanggo nggunakake pengelompokan atom ((?>…)) lan kuantifier cemburu (possessive) (*+, ++, ?+, {m,n}+) ing ekspresi reguler.
  • Jinis TypeVarTuple wis ditambahake, sing ngidini panggunaan generik variabel, ora kaya TypeVar, sing ora kalebu siji jinis, nanging jumlah jinis sing sewenang-wenang.
  • Pustaka standar kalebu modul tomllib kanthi fungsi kanggo ngurai format TOML.
  • Add_note () cara wis ditambahake ing kelas BaseException, sing ngidini cathetan teks ditempelake ing pangecualian, contone, kanggo nambah informasi kontekstual sing ora kasedhiya nalika pangecualian dibuwang.
  • Jinis Self khusus wis ditambahake kanggo makili kelas pribadi saiki. Self bisa digunakake kanggo anotasi cara sing ngasilake conto kelas sampeyan kanthi cara sing luwih gampang tinimbang nggunakake TypeVar.
  • Added "-P" pilihan baris printah lan variabel lingkungan PYTHONSAFEPATH kanggo mateni sambungan otomatis saka path file potensial aman kanggo sys.path.
  • Utilitas py.exe kanggo platform Windows wis ditingkatake kanthi signifikan kanggo ndhukung sintaks "-V:". / "Saliyane" - . ».
  • Akeh makro C API wis diowahi dadi fungsi inline biasa utawa statis
  • Modul uu, cgi, pipa, crypt, aifc, chunk, msilib, telnetlib, audioop, nis, sndhdr, imghdr, nntplib, spwd, xdrlib, cgitb, mailcap, ossaudiodev, lan sunau wis ora digunakake lan bakal dibusak saka Python. 3.13 release.
  • Dibusak fungsi PyUnicode_Encode*.
  • Kelas TaskGroup ditambahake menyang modul asyncio kanthi implementasi manajer konteks bedo sing ngenteni grup tugas rampung.
  • Nambahake tugas menyang grup wis rampung nggunakake cara create_task ().

Pungkasan yen sampeyan kepengin ngerti babagan iki, sampeyan bisa mriksa rincian ing link ing ngisor iki. 


Konten artikel kasebut sesuai karo prinsip kita yaiku etika editorial. Kanggo nglaporake klik kesalahan Kene.

Dadi pisanan komentar

Ninggalake komentar sampeyan

Panjenengan alamat email ora bisa diterbitake. Perangkat kothak ditandhani karo *

*

*

  1. Tanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Kontrol SPAM, manajemen komentar.
  3. Legitimasi: idin sampeyan
  4. Komunikasi data: Data kasebut ora bakal dikomunikasikake karo pihak katelu kajaba kanthi kewajiban ukum.
  5. Panyimpenan data: Database sing dianakake dening Occentus Networks (EU)
  6. Hak: Kapan wae sampeyan bisa matesi, mulihake lan mbusak informasi sampeyan.