KwiPython sele bexoxe ngesiphakamiso sokususa i-GIL kwaye bafumane ukusebenza okungcono

Uphawu lwePython

IPython lulwimi lwenkqubo olukwinqanaba eliphezulu.

Kutshanje kwavela iindaba zokuba IKomiti yokuLawula iProjekthi yePython ibhengeze umnqweno wayo wokuvuma Isindululo sokwandiswa kolwimi lwePython «PEP-0703″, isenza isitshixo sehlabathi jikelele sitshixekile kwi-CPython kwaye echaza ngokusisiseko uzinziso lwe-CPython yokuqokelela imo ngaphandle kwe-Global Interpreter Lock (GIL).

IPHEPHA-0703 ichaza ukuyeka ukusebenzisa i-GIL ngokungagqibekanga, kodwa yongeza inketho yokwakha "-sin-gil" ukuyivala. Icomo estasl Imo entsha kulindeleke ukuba isombulule ingxaki ngokuhambelana yemisebenzi kwiisistim ezininzi ezingundoqo, ezibangelwa kukuba itshixo yehlabathi ayivumeli ukufikelela okufanayo kwizinto ekwabelwana ngazo ukusuka kwimisonto eyahlukeneyo.

Kukhankanywe ukuba kwixesha elide (emva kweminyaka emi-5), iqokobhe licwangciswe ukuba litshintshwe ngokungagqibekanga ukuya kuphela kwimo yelizwe jikelele yokungatshixwa, ngelixa kwangaxeshanye ulahla inkxaso yokuqulunqa nge-GIL.

Enkosi nonke ngokuphendula kuphando lwesindululo se-no-GIL. Kucacile ukuba uvakalelo jikelele lulungile, zombini kwimbono jikelele kunye nakwi-PEP 703 ngakumbi. Ibhodi yabaLawuli nayo inethemba kakhulu kuzo zombini. Sijonge ukwamkela i-PEP 703, nangona sisazama iinkcukacha zokwamkelwa.

Njengoko senze amaxesha ambalwa kwixesha elidlulileyo, sifuna ukunxibelelana nenjongo yethu yokwamkela i-PEP kunye nokucinga kwethu ngoku kwiinkcukacha ezinxulumene nokwamkelwa.

Ngaphandle koko, Kukhankanyiwe ukuba utshintsho olucetywayo ukuba lwenziwe ngezigaba ezithathu, ezizezexesha elifutshane, eliphakathi kunye nexesha elide. Unikezwe ukuba kwinqanaba lokuqala, ukukhubaza i-GIL ngokungagqibekanga akunakwenzeka ngenxa ye-overhead ehambelana notshintsho kumqokeleli wenkunkuma, inkqubo yokulawula imemori, kunye ne-primitives yokulungelelanisa izitshixo. Ngokomzekelo, ngenxa yokusetyenziswa kwereferensi yokubala ukuhlukaniswa kwentambo, kukho ukuhla kwentsebenzo kwiikripthi ezinomsonto omnye (kwi-pyperformance test suite nge-10%). Kwangaxeshanye, kunokuba yimfuneko ukukhubaza i-GIL kwikhompyuter yesayensi, apho ukungabikho kokuhambelana kuyingxaki enkulu kunesantya somgca wokwenziwa kwekhowudi.

Kwinqanaba lesibini, ngokusisiseko kuya kulindelwe isiqinisekiso. nokuba kukho inkxaso eyaneleyo eluntwini ukuze ukusetyenziswa kwe "non-GIL iyasebenza" kwaye uqiniseke ukuba ukwakhiwa kwe-GIL-ngaphantsi kuyaxhaswa kodwa akugqibekanga.

Kwinqanaba lokugqibela, akukho-GIL iya kuba lixabiso elingagqibekanga kwaye nayiphi na intsalela ye-GIL iya kususwa (ngaphandle kokwaphula ngokungeyomfuneko ukuhambelana nokubuyela umva).

Kuyaqapheleka ukuba umsebenzi wokusuka kwi-GIL uya kwenziwa ngononophelo olukhulu ukuze ungaphindi impazamo kwenzeka ntoni xa kunyuswa Python 3: Ulwakhiwo olungelona i-GIL luya kufuneka luqinisekise ukuhambelana neenguqulelo ezindala zePython, kwaye naluphi na utshintsho lwekhowudi yomntu wesithathu olufunekayo ukusebenza kwi-non-GIL builds kufuneka lusebenze kwi-GIL builds.

Akukho zicwangciso zokubuyisela kwakhona iinguqulelo kwi-Python 4 ye-non-GIL yokwakha, njengoko baya kugcina ukuhambelana kwe-ABI.

Kuyo yonke le nkqubo, thina (abaphuhlisi abaphambili, hayi i-SC kuphela) kuya kufuneka ukuba siphinde sivavanye inkqubela kunye namaxesha acetyisiweyo. Asifuni ukuba oku kube ngomnye umlo weminyaka elishumi wokuhambelana nokubuyela umva, kwaye sifuna ukukwazi ukurhoxisa i-PEP 703 kwaye sifumane esinye isisombululo ukuba ibonakala iyingxaki, kufuneka sijonge rhoqo ukuba umsebenzi oqhubekayo ufanelekile.

Siyathemba ukuba oku kunika ingcaciso ngekamva le-PEP njengoko sisenza iinkcukacha ezichanekileyo zokwamkelwa. I-SC iya kusebenza ukugqibezela ukwamkelwa kwezi veki zizayo.

Ngaphambi kokuba inguqu epheleleyo kwi-non-GIL yakha, siceba ukufezekisa inkxaso epheleleyo yoluntu kwezi zakha, kunye nokubonelela nge-C APIs ezongezelelweyo kunye ne-Python APIs ukwenzela ukuba i-multithreading ekhuselekileyo kwikhowudi ekhoyo.

Ekugqibeleni, njengoko sele kukhankanyiwe, kulindeleke ukuba ukutshintshwa kwinqanaba lesithathu linokwenzeka ubuncinane kwiminyaka eyi-5 kwaye umhla onokwenzeka we-PEP-0703 ukukhululwa kwePython 3.13, ecwangciselwe ukuwa okulandelayo.

Ukuba ukhona unomdla wokwazi ngakumbi ngayo, ungajonga iinkcukacha Kule khonkco ilandelayo.


Shiya uluvo lwakho

Idilesi yakho ye email aziyi kupapashwa. ezidingekayo ziphawulwe *

*

*

  1. Uxanduva lwedatha: UMiguel Ángel Gatón
  2. Injongo yedatha: Ulawulo lwe-SPAM, ulawulo lwezimvo.
  3. Umthetho: Imvume yakho
  4. Unxibelelwano lwedatha: Idatha ayizukuhanjiswa kubantu besithathu ngaphandle koxanduva lomthetho.
  5. Ukugcinwa kweenkcukacha
  6. Amalungelo: Ngalo naliphi na ixesha unganciphisa, uphinde uphinde ucime ulwazi lwakho.