I-Facebook ikhuphe ikhowudi yemithombo yeCinder esetyenziswa yi-Instagram

Facebook ityhilwe kutshanje ngeposi, ikhupha ikhowudi yemvelaphi yeprojekthi yeCinder, oko ikukuthi ifolokhwe yesebe le-CPython kunye nolwenziwo oluphambili lolwimi lwePython yolwimi.

Isilonda isetyenziswe kwiziseko zophuhliso ze-Facebook ukwenza amandla kwi-Instagram kwaye kubandakanya ukwandiswa ukuphucula ukusebenza. Ikhowudi ipapashiwe ukuxoxa ngamathuba okufuduka okwenziweyo okulungiselelwe kwindawo ephambili ye-CPython kunye nokunceda ezinye iiprojekthi zokuphucula ukusebenza kweCPython.

I-Facebook ikhankanya ukuba ayizukuxhasa iCinder njengeprojekthi eyahlukileyo evulelekileyo kwaye ikhowudi iboniswe ngohlobo apho isetyenziswa khona kwinkampani, ngaphandle kwamaxwebhu ongezelelweyo.

I-Cinder ayizikhuthazi njengenye ye-CPython nokuba yeyiphi-eyona njongo iphambili yokuphucula kukuphucula i-CPython uqobo.

Ikhowudi yeCinders ithathwa njengenokuthenjwa ngokufanelekileyo kwaye kuvavanywa kwindawo yemveliso, kodwa ukuba iingxaki zichongiwe, kuya kufuneka zisonjululwe zodwa, kuba i-Facebook ayiqinisekisi ukuba iyakuphendula imiyalezo yemposiso yangaphandle kwaye utsale izicelo.

Kwangelo xesha, u-Facebook akayikhupheli ngaphandle intsebenziswano eyakhayo noluntu kwaye ukulungele ukuxoxa ngezimvo zokwenza iCinder ngokukhawuleza nangakumbi okanye ukukhawulezisa ukuhanjiswa kotshintsho olulungiselelwe kwisakhelo esiphambili se-CPython.

Olona manyano luphambili luphunyezwe kwiCinder zezi:

  • I-Bytecode caching ekwi-Intanethi: Umongo wendlela kukuchonga iimeko eziqhelekileyo zokuphunyezwa kwe-opcode ezinokuthi zenziwe zilungelelaniswe ngamandla kwaye zitshintshe i-opcode ngokhetho olukhethekileyo olukhawulezayo.
  • Uvavanyo lwarhoqo: Kwiifowuni zomsebenzi we-asynchronous ezenziwa ngokukhawuleza, isiphumo saloo misebenzi sigqitywe ngokuthe ngqo ngaphandle kokwenza i-coroutine kwaye ngaphandle kokubhengeza umsitho womsitho. Kwikhowudi esetyenziswa nguFacebook, ayisebenzisa kakhulu, ukwenziwa ngcono kukhokelela ekukhawuleziseni malunga neepesenti ezintlanu.
  • Ukudityaniswa okukhethiweyo kweJIT kwinqanaba leendlela ezizodwa kunye nemisebenzi: inikwe amandla kukhetho lwe "-X jit" okanye umahluko wendalo PYTHONJIT = 1 kwaye ikuvumela ukuba ukhawulezise iimvavanyo ezininzi zokwenza umsebenzi ngo-1,5 ukuya kumaxesha ama-4.
    Uluhlu lwemisebenzi ekufuneka yenziwe i-JIT inokumiselwa ngokusekwe kwiziphumo zeprofayili. Kwixesha elizayo, inkxaso yokuhlanganiswa okunamandla kweJIT esekwe kuhlalutyo lwangaphakathi lomsebenzi wefowuni kulindeleke, kodwa kuthathelwa ingqalelo iinkqubo ezithile zokuphehlelelwa kwi-Instagram, ukuhlanganiswa kweJIT kufanelekile nakuFacebook kwinqanaba lokuqala.
    I-JIT kuqala iguqula i-bytecode yePython iye kummeli okwinqanaba eliphakathi (HIR), esondele ngokufanelekileyo kwi-bytecode yePython, kodwa yenzelwe ukusebenzisa umatshini osekwe kwirekhodi endaweni yomatshini osekwe ngokuqinileyo, kwaye ikwasebenzisa uhlobo lolwazi kunye neenkcukacha ezongezelelweyo ezichaphazelekayo ekusebenzeni. I-HIR emva koko iguqulelwa kwifom ye-Static single Allocation (SSA) kwaye ihamba ngamanqanaba okwenziwa ngokusekwe kubalo lwereferensi kunye nedatha yokusebenzisa imemori. Ngenxa yoko, ukwenziwa kwenqanaba eliphakathi eliphakathi (i-LIR) elivelisiweyo, elikufutshane nolwimi lwendibano.
  • Imo engqongqo yeemodyuli:Ukusebenza kunamacandelo amathathu: Uhlobo lweStrictModule. Isicazululi esimileyo esikwaziyo ukumisela ukuba ukwenziwa kwemodyuli akuchaphazeli ikhowudi engaphandle kwale modyuli.
  • IPatic engatshintshiyo: ngumlingisi we-bytecode wokulinga osebenzisa izichazi zohlobo ukuvelisa i-bytecode ekhethekileyo kuhlobo ngalunye kwaye ibaleke ngokukhawuleza ngokudityaniswa kweJIT. Kwezinye iimvavanyo, ukudityaniswa kweStatic Python kunye neJIT kubonisa ukuya kuthi ga ekuphuculweni kokusebenza kwe-7x ngaphezulu kweCPython eqhelekileyo. Kwiimeko ezininzi, iziphumo ziyavavanywa ngokungathi kusetyenziswa iikhomputha ze-MyPyC kunye neCython.

Gqibela ukuba unomdla wokukwazi ukufumana ikhowudi yeCinder okanye ufunde okungakumbi ngayo, unokuqhagamshelana ne iinkcukacha kwikhonkco elilandelayo.


Yiba ngowokuqala ukuphawula

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.