I-70% yeengxaki zokhuseleko kwi-Chromium zibangelwa ziimpazamo zememori

Abaphuhlisi beprojekthi yeChromium ihlalutyiwe I-912 inobungozi obuphezulu kunye nobuthathaka obubalulekileyo obuchongiweyo ekukhutshweni okuzinzile kwe-Chrome ukususela kwi-2015, kwaye yagqiba ukuba i-70% yazo ibangelwa ukungakhuseki kwememori (iimpazamo xa usebenza kunye nezikhombisi kwikhowudi yeC / C ++). Isiqingatha sezi ngxaki (36.1%) sibangelwa lufikelelo kwi-buffer emva kokukhulula imemori ehambelana nayo (ukusetyenziswa-emva kokukhululeka).

I-70% yeengxaki zokhuseleko kwi-Chromium zibangelwa ziimpazamo zememori

Xa uyila iChromium yayisekuqaleni ulale phantsi, ukuba kunokwenzeka ukuba iimpazamo zivele kwikhowudi, ngoko ke ugxininiso olukhulu luye lwabekwa kusetyenziso lwebhokisi yesanti yokwahlula ukunciphisa imiphumo yobuthathaka. Okwangoku, amathuba okusebenzisa obu buchwepheshe afikelele kumda wobuchule babo kwaye ukwahlulahlula kwiinkqubo akunakwenzeka ngokwembono yokusetyenziswa kobutyebi.

Ukugcina ukhuseleko lwesiseko sekhowudi, uGoogle ukwanyanzelisa "umthetho ezimbini", ngokubhekiselele kuyo nayiphi na ikhowudi eyongeziweyo kufuneka ihlangabezane neemeko ezingaphezulu kwezibini ezintathu: ukusebenza kunye nedatha yegalelo elingaqinisekisiweyo, usebenzisa ulwimi lweprogram olungakhuselekanga (C / C ++) kunye nokusebenza ngamalungelo aphakamileyo. Lo mgaqo uthetha ukuba ikhowudi yokucubungula idatha yangaphandle kufuneka incitshiswe kumalungelo amancinci (odwa) okanye ibhalwe ngolwimi olukhuselekileyo lweprogram.

Ukuphucula ngakumbi ukhuseleko lwesiseko sekhowudi, iprojekthi iqaliswe ukukhusela iimpazamo zememori ekuveleni kwisiseko sekhowudi. Kukho iindlela ezintathu eziphambili: ukudala amathala eencwadi e-C ++ kunye nemisebenzi yokusebenza ngokukhuselekileyo kwememori kunye nokwandisa ububanzi bomqokeleli wenkunkuma, usebenzisa iindlela zokukhusela i-hardware. MTE (Ukwandiswa kweTagi yeMemori) kunye nezinto zokubhala kwiilwimi eziqinisekisa umsebenzi okhuselekileyo ngememori (iJava, iKotlin, iJavaScript, iRust, iSwift).

Kulindeleke ukuba umsebenzi ugxininiswe kwiinkalo ezimbini:

  • Utshintsho oluphawulekayo kwinkqubo yophuhliso lweC ++, engabandakanyi impembelelo embi ekusebenzeni (ukuhlolwa kwemida eyongezelelweyo kunye nokuqokelela inkunkuma). Endaweni yezikhombisi ekrwada, kucetywa ukuba kusetyenziswe uhlobo UmmangalisoPtr, ekuvumela ukuba unciphise iimpazamo ezisebenzisekayo ezisebenzisekayo emva kokuphazamiseka okungafaki ingozi yokhuseleko, ngaphandle kwempembelelo embi ephawulekayo ekusebenzeni, ukusetyenziswa kwememori kunye nokuzinza.
  • Ukusetyenziswa kweelwimi ezenzelwe ukwenza iitshekhi zokhuseleko lwenkumbulo ngexesha lokudibanisa (kuya kuphelisa impembelelo engalunganga ekusebenzeni okuhambelana nolo vavanyo ngexesha lokwenziwa kwekhowudi, kodwa kuya kukhokelela kwiindleko ezongezelelweyo zokucwangcisa ukusebenzisana kwekhowudi kulwimi olutsha ngekhowudi C++).

Ukusebenzisa iilayibrari ezikhuselekileyo kwimemori yeyona ndlela ilula, kodwa ikwayeyona ndlela ingasebenziyo. Ikhowudi yokubhala kwakhona kwi-Rust ikalwe njengeyona ndlela isebenzayo, kodwa kunye neyona ndlela ibiza kakhulu.

I-70% yeengxaki zokhuseleko kwi-Chromium zibangelwa ziimpazamo zememori

umthombo: opennet.ru

Yongeza izimvo