AbakwaFacebook bakhiphe ikhodi yomthombo iCinder esetshenziswa yi-Instagram

Facebook yethulwe muva nje ngeposi, kukhishwa ikhodi yomthombo yephrojekthi yeCinder, okuyi imfoloko yegatsha le-CPython kanye nokusetshenziswa okuyisethenjwa okuyinhloko kolimi lohlelo lwePython.

Cinder isetshenziswe kwingqalasizinda yokukhiqiza ye-Facebook ukunika amandla i-Instagram futhi kufaka phakathi ukuthuthukisa ukwenza ngcono ukusebenza. Le khodi isishicilelwe ukuxoxa ngamathuba okufuduka kokulungiselela okulungiselelwe kokujwayelekile kwe-CPython nokusiza amanye amaphrojekthi wokuthuthukisa ukusebenza kwe-CPython.

I-Facebook ibalula ukuthi ngeke isekele iCinder njengephrojekthi ehlukile yomthombo ovulekile futhi ikhodi yethulwa ngendlela esetshenziswa ngayo kwingqalasizinda yenkampani, ngaphandle kwemibhalo eyengeziwe.

UCinder akazikhuthazi njengenye indlela ye-CPython noma - inhloso enkulu yentuthuko ukuthuthukisa i-CPython uqobo.

Ikhodi yeCinders ibhekwa njengokuthembeka okunengqondo futhi ihlolwe ezindaweni zokukhiqiza, kepha uma izinkinga zikhonjwa, kuzodingeka zixazululwe zodwa, ngoba i-Facebook ayiqinisekisi ukuthi izophendula imiyalezo yephutha langaphandle bese udonsa izicelo.

Ngasikhathi sinye, i-Facebook ayikushiyi ngaphandle ukubambisana okwakhayo nomphakathi futhi ikulungele ukuxoxa ngemibono yokuthi ingenziwa kanjani iCinder ngokushesha okukhulu noma ukuthi ingasheshisa kanjani ukudluliswa kwezinguquko ezilungiselelwe ohlakeni oluyinhloko lwe-CPython.

Ukulungiswa okuyinhloko okusetshenziswe ku-Cinder yilokhu:

  • Ukulondolozwa kwesikhashana kwe-Bytecode online: Ingqikithi yendlela ukukhomba izimo ezijwayelekile zokukhishwa kwe-opcode ezingalungiswa ngokunamandla bese zibuyisela leyo opcode ngezinketho ezikhethekile ezisheshayo.
  • Ukuhlolwa njalo: Ngamakholi womsebenzi we-asynchronous acutshungulwa ngokushesha, umphumela waleyo misebenzi ubhalwe ngaphezulu ngqo ngaphandle kokwenza i-coroutine futhi ngaphandle kokufaka i-loop yomcimbi. Kwikhodi esetshenziswa yi-Facebook, eyisebenzisa kakhulu, ukwenza kahle kuholela ekusheshiseni okungaba ngu-5%.
  • Ukuhlanganiswa okukhethiwe kwe-JIT ezingeni lezindlela nemisebenzi ngayinye: inikwe amandla inketho ye- "-X jit" noma ukuguquguquka kwemvelo kwePYTHONJIT = 1 futhi ivumela ukuhlolwa okuningi kokusebenza ukuthi kusheshiswe izikhathi eziyi-1,5 kuye kwezingu-4.
    Uhlu lwemisebenzi okufanele i-JIT inikwe amandla lunganqunywa ngokuya ngemiphumela yephrofayili. Ngokuzayo, ukusekelwa kokuhlanganiswa okunamandla kwe-JIT okususelwa ekuhlaziyweni kwangaphakathi kwemvamisa yezingcingo ezilindelekile kulindelwe, kepha uma kubhekwa imininingwane yenqubo yokuqalisa ku-Instagram, ukuhlanganiswa kweJIT nakho kufanelekile kuFacebook esiteji sokuqala.
    I-JIT iqala iguqule i-Python bytecode ibe isethulo esiphakathi (HIR) esisezingeni eliphakeme, esiseduze ngokufanele ne-bytecode yePython, kepha yakhelwe ukusebenzisa umshini obonakalayo osuselwa kwirekhodi kunomshini we-virtual based based in stack, futhi isebenzisa imininingwane yohlobo neminye imininingwane efanele ukusebenza. I-HIR ibuye iguqulwe ibe yifomu le-Static Single Allocation (SSA) bese idlulela ezigabeni zokwenza kahle ngokususelwa kunani lesethenjwa nedatha yokusebenzisa imemori. Ngenxa yalokhu, kwenziwa ukumelwa okuphakathi okuphakathi okuphakathi (LIR), okusondele kakhulu kulimi lomhlangano.
  • Imodi eqinile yamamojula:Ukusebenza kunezakhi ezintathu: Uhlobo lwe-StrictModule. Isihlaziyi esimile esikwazi ukunquma ukuthi ukwenziwa kwemodyuli akuthinti ikhodi engaphandle kwaleyo module.
  • I-Static Python: isihlanganisi sokuhlola se-bytecode esisebenzisa izichasiselo zohlobo ukukhiqiza i-bytecode ecaciswe ohlotsheni ngalunye futhi isebenza ngokushesha ngokuhlanganiswa kwe-JIT. Kokunye ukuhlolwa, inhlanganisela ye-Static Python ne-JIT ikhombisa ukuthuthuka kokusebenza okungu-7x kune-CPython ejwayelekile. Ezimweni eziningi, imiphumela ihlolwe sengathi kusetshenziswe abahlanganisi be-MyPyC neCython.

Okokugcina uma unentshisekelo yokukwazi ukuthola ikhodi yeCinder noma ufunde kabanzi ngayo, ungaxhumana ne- imininingwane kusixhumanisi esilandelayo.


Yiba ngowokuqala ukuphawula

Shiya umbono wakho

Ikheli lakho le ngeke ishicilelwe. Ezidingekayo ibhalwe nge *

*

*

  1. Ubhekele imininingwane: Miguel Ángel Gatón
  2. Inhloso yedatha: Lawula Ugaxekile, ukuphathwa kwamazwana.
  3. Ukusemthethweni: Imvume yakho
  4. Ukuxhumana kwemininingwane: Imininingwane ngeke idluliselwe kubantu besithathu ngaphandle kwesibopho esisemthethweni.
  5. Isitoreji sedatha: Idatabase ebanjwe yi-Occentus Networks (EU)
  6. Amalungelo: Nganoma yisiphi isikhathi ungakhawulela, uthole futhi ususe imininingwane yakho.