Facebook ya fitar da lambar tushe ta Cinder wacce Instagram ke amfani da ita

Facebook ya bayyana kwanan nan ta hanyar sakon, sakin lambar tushe na aikin Cinder, wanda yake cokali mai yatsu na reshen CPython da kuma babban aikin aiwatarwa na yaren shirye-shiryen Python.

Inderan Kotu amfani da shi a cikin abubuwan samar da Facebook don ƙarfafa Instagram kuma ya haɗa da ingantawa don haɓaka aiki. An buga lambar don tattauna yiwuwar ƙaura da shirye-shiryen ingantawa zuwa mahimmancin CPython da kuma taimakawa sauran ayyukan haɓaka ayyukan CPython.

Facebook ya ambaci cewa ba zai goyi bayan Cinder a matsayin aikin buɗe tushen buɗe ba kuma an gabatar da lambar a cikin hanyar da ake amfani da ita a cikin abubuwan haɗin kamfanin, ba tare da ƙarin takardu ba.

Cinder shima baya tallata kansa azaman madadin CPython - babban burin cigaban shine inganta CPython kanta.

Lambar Cinder tana ɗauke da amintaccen abin dogara kuma an gwada shi a cikin yanayin samarwa, amma idan aka gano matsaloli, za su bukaci a warware su da kansu, saboda Facebook bai bada tabbacin cewa zai amsa sakonnin kuskure na waje ba da kuma ja buƙatun.

A lokaci guda, Facebook baya keɓance haɗin kai mai ma'ana tare da al'umma kuma a shirye yake don tattauna ra'ayoyi kan yadda ake yin Cinder har ma da sauri ko yadda za a hanzarta sauya canjin da aka shirya zuwa babban tsarin CPython.

Babban abubuwan haɓakawa waɗanda aka aiwatar a Cinder sune:

  • Bytecode caching kan layi: Jigon hanyar shine gano ainihin yanayin aiwatar da lambar opcode wanda za'a iya inganta shi sosai kuma maye gurbin wannan lambar tare da zaɓuɓɓuka na musamman na sauri.
  • Binciken yau da kullun: Don kiran asynchronous ɗin aiki waɗanda aka sarrafa su nan da nan, sakamakon waɗannan ayyukan ana sauya su kai tsaye ba tare da ƙirƙirar coroutine ba kuma ba tare da kiran madauki ba. A cikin lambar da Facebook yayi amfani da ita, wanda take amfani dashi sosai, haɓakawa yana haifar da hanzarin kusan 5%.
  • Jididdigar JIT mai zaɓaɓɓe a matakin hanyoyin mutum ɗaya da ayyuka: ana ba da damar ta zaɓi "-X jit" ko sauyin yanayi PYTHONJIT = 1 kuma yana ba da damar saurin gwajin gwaje-gwaje da yawa ta 1,5 zuwa 4 sau.
    Jerin ayyukan da yakamata a kunna JIT za'a iya tantance su gwargwadon sakamakon bayanin martaba. A nan gaba, ana sa ran tallafi don haɓaka JIT mai ƙarfi bisa la'akari na cikin gida na yawan kiran aiki, amma la'akari da takamaiman ayyukan ƙaddamarwa akan Instagram, JIT har ila yau ya dace da Facebook a matakin farko.
    JIT ta fara canzawa bytecode na Python zuwa babban matsakaiciyar wakilci (HIR), wanda ya kusa kusa da bytecode na Python, amma an tsara shi ne don amfani da na'urar kama-da-wane ta rikodin maimakon naúrar da ke kan rikodin rikodin. ƙarin nau'in bayanai da cikakkun bayanai masu dacewa da aiki. Ana canza HIR zuwa tsari na Musamman Singleasa (SSA) kuma yana fuskantar matakai na ingantawa dangane da ƙididdigar tunani da bayanan amfani da ƙwaƙwalwar ajiya. A sakamakon haka, an samar da wakilcin matsakaiciyar matsakaici (LIR), wanda ke kusa da harshen taro.
  • Tsananin yanayi don kayayyaki:Aikin yana da abubuwa uku: Nau'in StrictModule. Wani manazarcin da zai iya tantancewa cewa zartar da darasi ba ya tasiri lambar a wajen wannan ƙirar.
  • Tsayayyen Python: mahaɗan bytecode ne mai tara abubuwa wanda yake amfani da bayanin bayanai don samar da bytecode wanda yake takamaiman kowane nau'i kuma yana gudu da sauri ta hanyar haɗa JIT. A wasu gwaje-gwajen, hadewar Static Python da JIT yana nuna har zuwa haɓaka aikin 7x akan CPython na yau da kullun. A cikin yanayi da yawa, ana kimanta sakamakon kamar ana amfani da matattarar MyPyC da Cython.

Finalmente idan kuna sha'awar samun damar lambar Cinder ko ƙarin koyo game da shi, zaku iya tuntuɓar cikakkun bayanai a cikin mahaɗin mai zuwa.


Bar tsokaci

Your email address ba za a buga. Bukata filayen suna alama da *

*

*

  1. Wanda ke da alhakin bayanan: Miguel Ángel Gatón
  2. Manufar bayanan: Sarrafa SPAM, sarrafa sharhi.
  3. Halacci: Yarda da yarda
  4. Sadarwar bayanan: Ba za a sanar da wasu bayanan ga wasu kamfanoni ba sai ta hanyar wajibcin doka.
  5. Ajiye bayanai: Bayanin yanar gizo wanda Occentus Networks (EU) suka dauki nauyi
  6. Hakkoki: A kowane lokaci zaka iyakance, dawo da share bayanan ka.