Guido van Rossum hà u scopu di ottene un aumentu di rendiment 3.11x in CPython XNUMX

Guido van Rossum, u creatore di a lingua di prugrammazione Python, in u so rapportu à a cunferenza di u Python Language Summit, hà parlatu di i piani per ottimisà u rendiment di CPython. Per a versione 3.11, chì hè prevista in 2022, i sviluppatori speranu di ottene un aumentu duppiu di u rendiment. U prughjettu di ottimisazione CPython hè gestitu da una piccula squadra di sviluppatori di Microsoft, chì Guido hà unitu pocu.

Quandu implementanu u prughjettu, i sviluppatori intendenu aderisce à una quantità di restrizioni, cum'è mantene a cumpatibilità cumpleta à u nivellu di l'ABI è di u codice, è ancu l'inadmissibilità di guadagnà di rendiment per via di a rallentazione in i casi di punta. Di i cumpunenti chì ponu esse cambiati per migliurà u funziunamentu, bytecode, layout di dati in memoria, compilatore è interprete sò nutati.

I sviluppi di u prugettu sò publicati in un repositoriu separatu di cpython più veloce. Unu di i membri di u prughjettu, chì hà sviluppatu prima u compilatore HotPy JIT per CPython, hà publicatu un pianu chì rende realisticu per ottene cinque volte u rendiment è ottene stu risultatu in a liberazione di Python 3.13. U prugettu hè divisu in quattru tappe:

  • In Python 3.10, pensamu di implementà ottimisazioni in l'interprete in relazione à adattà u prucessu di interpretazione à i tipi è i valori in runtime.
  • A liberazione di Python 3.11 hè prevista per purtà migliorie à u runtime è l'uggetti chjave, è ancu l'inclusione di parechje picculi ottimisazioni specializate, cum'è l'accelerazione di l'operatori binari è u travagliu cù valori interi chì si adattanu à una parola di macchina, accelerà a chjama. è u ritornu da e funzioni, riducendu a memoria di overhead di runtime è a gestione di l'eccezzioni.
  • Python 3.12 introduverà un compilatore JIT simplice chì pò esse usatu per una piccula quantità di codice specializatu.
  • Python 3.13 aghjunghjenu novi capacità per generà codice nativu in runtime è estenderà l'usu di u compilatore JIT.

Source: opennet.ru

Add a comment