Release of programming language Python 3.13

Pas një vit zhvillimi, është publikuar një version i rëndësishëm i gjuhës së programimit Python 3.13. Ky degë do të mbështetet për një vit e gjysmë, pas së cilës do të formohen rregullime për të për tre vjet e gjysmë për të eliminuar dobësitë.

Disa nga novitetet e integruara në Python 3.13 përfshijnë:

  • ËshtĂ« shtuar njĂ« implementim eksperimental i JIT-compiler-it, qĂ« mundĂ«son rritje tĂ« konsiderueshme tĂ« performancĂ«s. PĂ«r tĂ« aktivizuar JIT nĂ« CPython Ă«shtĂ« shtuar opsioni i ndĂ«rtimit «—enable-experimental-jit», pĂ«rdorimi i tĂ« cilit kĂ«rkon instalimin e LLVM si njĂ« varĂ«si shtesĂ«. Procesi i pĂ«rkthimit tĂ« kodit maqinerik nĂ« JIT Ă«shtĂ« ndĂ«rtuar duke pĂ«rdorur arkitekturĂ«n «Copy-and-Patch», ku me ndihmĂ«n e LLVM krijohet njĂ« skedar objekt nĂ« formatin ELF, qĂ« pĂ«rmban tĂ« dhĂ«na mbi instrukcionet e bytecode-it dhe informacion mbi zĂ«vendĂ«simin e nevojshĂ«m tĂ« tĂ« dhĂ«nave. JIT zĂ«vendĂ«son instrukcionet e gjeneruara gjatĂ« interpretimit tĂ« programit me pĂ«rfaqĂ«simet e tyre nĂ« kodin maqinerik, ndĂ«rkohĂ« qĂ« vendos tĂ« dhĂ«nat e nevojshme pĂ«r llogaritjet (JIT kopjon shabllonet e gatshme tĂ« funksioneve tĂ« kompiluar dhe i vendos ato me vlerat e nevojshme, si argumentet dhe konstantet).
  • ËshtĂ« shtuar njĂ« mod eksperimental ndĂ«rtimi pĂ«r CPython pa bllokimin global tĂ« interpreter-it (GIL, Global Interpreter Lock), i cili aktivizohet me opsionin «—without-gil» dhe lejon eliminimin e problemit tĂ« paralelizimit tĂ« operacioneve nĂ« sisteme me shumĂ« bĂ«rthama, tĂ« shkaktuar nga fakti qĂ« bllokimi global nuk lejon qasjen paralel nĂ« objektet e ndara nga thread-e tĂ« ndryshme. Çaktivizimi i GIL sjell kosto tĂ« shtuar, tĂ« shkaktuara nga ndryshimet nĂ« menaxherin e mbeturinave, sistemin e menaxhimit tĂ« memories dhe primitivĂ«t pĂ«r organizimin e bllokimeve. PĂ«r shembull, pĂ«r shkak tĂ« pĂ«rdorimit tĂ« numĂ«rimit tĂ« referencave pĂ«r izolimin e thread-eve, vĂ«rehet njĂ« ulje e performancĂ«s sĂ« skenarĂ«ve njĂ«-thread prej rreth 10%. MegjithatĂ«, kĂ«to kosto tĂ« tilla mund tĂ« kompensohen pĂ«rmes paralelizimit tĂ« operacioneve.
  • NjĂ« interpreter interaktiv i pĂ«rmirĂ«suar Ă«shtĂ« propozuar, i bazuar nĂ« punimet e projektit PyPy, i cili mbĂ«shtet mundĂ«si tĂ« tilla si redaktimi me shumĂ« rreshta, ruajtja dhe shikimi i historisĂ«, dekorimi me ngjyra tĂ« kĂ«rkesave dhe gjurmimeve, pĂ«rdorimi i komandave tĂ« ngjashme me REPL (ndihmĂ«, dil, mbyll etj.) pa angazhuar funksione, ndihma interaktive, dhe moda e ngjitjes sĂ« blloqeve tĂ« mĂ«dha tĂ« kodit.
  • Semantika e funksionit tĂ« integruar locals(), i cili kthen tĂ« gjitha variablat lokalĂ« dhe vlerat e tyre nĂ« zonĂ«n aktuale tĂ« dukshmĂ«risĂ«, Ă«shtĂ« ndryshuar pĂ«r zonat e optimizuara tĂ« dukshmĂ«risĂ«, si funksionet, gjeneruesit dhe koroutines, pĂ«r tĂ« cilat tani kthehen snapshot tĂ« pavarura tĂ« variablave lokalĂ« tĂ« vendosur aktualisht dhe variablave tĂ« huaj, tĂ« reflektuar nĂ« kllapĂ«.
  • NĂ« pĂ«rbĂ«rje tĂ« parazgjedhur Ă«shtĂ« pĂ«rfshirĂ« njĂ« version e modifikuar i bibliotekĂ«s mimalloc nga kompania Microsoft pĂ«r shpĂ«rndarjen e memories, e cila tregon performancĂ« shumĂ« tĂ« lartĂ«. Biblioteka aktivizohet gjatĂ« ndĂ«rtimit pa GIL.
  • PĂ«rmbushja e pastrimit nga kompajleri tĂ« hapĂ«sirave lider nĂ« çdo rresht dokumentimi (docstring), e cila ka lejuar zvogĂ«limin e memories sĂ« pĂ«rdorur dhe zvogĂ«limin e madhĂ«sisĂ« sĂ« caches me bytecode (skedarĂ«t .pyc).
  • NĂ« modulin dbm Ă«shtĂ« implementuar backend dbm.sqlite3, i cili pĂ«rdor SQLite dhe aplikohet pĂ«r parazgjedhje gjatĂ« krijimit tĂ« skedarĂ«ve tĂ« rinj.
  • ËshtĂ« implementuar mbĂ«shtetje pĂ«r caktimin e vlerave tĂ« paracaktuara nĂ« parametrat e tipeve (typing.TypeVar, typing.ParamSpec dhe typing.TypeVarTuple). PĂ«r shembull: ‘T = TypeVar(«T», default=int)’.
  • ËshtĂ« shtuar njĂ« annotim i ri typing.TypeIs pĂ«r precisimin e tipeve, mĂ« intuitiv se typing.TypeGuard.
  • ËshtĂ« shtuar mundĂ«sia e pĂ«rdorimit tĂ« annotimit typing.ReadOnly pĂ«r tĂ« etiketuar elementĂ«t TypeDicts, tĂ« cilĂ«t janĂ« vetĂ«m pĂ«r lexim.
  • ËshtĂ« shtuar njĂ« annotim i ri warnings.deprecated() pĂ«r tĂ« etiketuar elementĂ«t e vjetĂ«ruar nĂ« sistemin e tipeve.
  • Nga biblioteka standarde janĂ« hequr modulat aifc, audioop, chunk, cgi, cgitb, crypt, imghdr, mailcap, msilib, nis, nntplib, ossaudiodev, pipes, sndhdr, spwd, sunau, telnetlib, uu, xdrlib dhe lib2to3, tĂ« cilat ishin shpallur tĂ« vjetĂ«ruara mĂ« parĂ«.
  • NĂ« moduln copy Ă«shtĂ« shtuar funksioni copy.replace().
  • NĂ« moduln os janĂ« shtuar funksione pĂ«r tĂ« punuar me orarin pĂ«rmes descriptorĂ«ve timerfd.
  • PĂ«r moduln random Ă«shtĂ« realizuar njĂ« ndĂ«rfaqe e komandĂ«s sĂ« linjĂ«s.
  • PĂ«rkrahja e versioneve tĂ« macOS nga 10.9 deri nĂ« 10.12 Ă«shtĂ« ndĂ«rprerĂ«.
  • ËshtĂ« realizuar mbĂ«shtetje pĂ«r platformat mobile iOS dhe Android, tĂ« cilat janĂ« renditur nĂ« nivelin e tretĂ« (Tier 3), ku garanton ndĂ«rtimin e besueshĂ«m dhe mbĂ«shtetje nga njĂ« zhvillues kryesor minimalisht, por defektet e lidhura me platformĂ«n nuk bllokojnĂ« lĂ«shimin dhe nuk mbulohen nga mbĂ«shtetja SLA.
  • MbĂ«shtetje pĂ«r platformĂ«n wasm32-wasi (WebAssembly System Interface) Ă«shtĂ« çuar nĂ« njĂ« nivel tĂ« dytĂ«, ku dĂ«shtimet bllokojnĂ« lĂ«shimin dhe ndryshimet qĂ« i shkaktojnĂ« ato rregullohen ose anulohen brenda 24 orĂ«ve. MbĂ«shtetja zyrtare pĂ«r platformĂ«n wasm32-emscripten Ă«shtĂ« ndaluar.

Në orët e ardhshme do të fillojë testimi alfa i degës Python 3.14, e cila do të jetë në fazën e lëshimeve alfa për shtatë muaj, gjatë të cilëve do të shtohen mundësi të reja dhe do të bëhen rregullime gabimesh (sipër bazës së re të zhvillimit, puna për degën e re fillon pesë muaj para lëshimit të degës së mëparshme dhe në momentin e lëshimit tjetër arrin fazën e testimit alfa). Pas kësaj, për tre muaj do të zhvillohet testimi i versioneve beta, gjatë të cilit do të ndalohet shtimi i mundësive të reja dhe gjithë vëmendja do t'i kushtohet rregullimit të gabimeve. Dy muajt e fundit para lëshimit, dega do të jetë në fazën e kandidatëve për lëshim, ku do të realizohet stabilizimi përfundimtar.

Burimi: opennet.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster