Bathuthukise uchungechunge lokuhlaselwa kabusha kwe-CPU cache kwiziphequluli zewebhu ngaphandle kokudinga iJavaScript

Ithimba labaphenyi abavela emanyuvesi ahlukahlukene AbaseMelika, abakwa-Israyeli nabase-Australia ithuthukise ukuhlaselwa okubhekiswe kwiziphequluli zewebhu ezivumela ukukhishwa kolwazi mayelana nokuqukethwe kwesilondolozi se-processor. Indlela isebenza kwiziphequluli ngaphandle kweJavaScript kanye nezinye izindlela ezimbili zokuvikela ezikhona ekuhlaselweni ngeziteshi ezivela eceleni, kufaka phakathi lezo ezisetshenziswe kusiphequluli seTor naseDeterFox.

Ukuhlaziya okuqukethwe kunqolobane ku- konke ukuhlaselwa kusebenzisa indlela ye- "Prime + Probe", ukuthi kufaka phakathi ukugcwalisa inqolobane ngamanani ayizethenjwa nokunquma izinguquko ngokukala isikhathi sokufinyelela kubo lapho zivuselelwa kabusha. Ukuze kudlule izindlela zokuphepha ezikhona kwiziphequluli, ezivimbela ukukalwa kwesikhathi okunembile, ezinhlotsheni ezimbili kubizwa i-DNS ehlaselayo noma iseva yeWebSocket, egcina irekhodi lesikhathi sokutholwa kwezicelo. Kokunye ukwenziwa, isikhathi sempendulo ye-DNS esimisiwe sisetshenziswa njengesethenjwa sesikhathi.

Izilinganiso ezenziwe kusetshenziswa amaseva we-DNS angaphandle noma iWebSocket, ngenxa yokusetshenziswa kohlelo lokuhlukaniswa olususelwa ekufundeni komshini, bezanele ukubikezela amanani ngokunemba kuka-98% esimweni esihle kakhulu (ngokwesilinganiso esingu-80-90%). Izindlela zokuhlasela zivivinywe kuzingxenyekazi ezahlukahlukene zehadiwe (i-Intel, i-AMD Ryzen, i-Apple M1, i-Samsung Exynos) futhi kukhombise ukuthi ziyahlukahluka.

Ukwahluka kokuqala kokuhlaselwa komjaho we-DNS isebenzisa ukuqaliswa kwakudala kwendlela yePrime + Probe kusetshenziswa ukuhlelwa kweJavaScript. Umehluko wehlela ekusetshenzisweni kwesibali sikhathi esisekelwe kwi-DNS sangaphandle nesiphathi sephutha esivuthayo lapho sizama ukulayisha isithombe kusuka kusizinda esingekho. Isibali sikhathi sangaphandle sivumela ukuhlaselwa kwe-Prime + Probe kuziphequluli ezikhawulela noma zikhubaze ngokuphelele ukufinyelela kwe-JavaScript timer.

Kwiseva ye-DNS ebanjwe kunethiwekhi efanayo ye-Ethernet, ukunemba kwesibali sikhathi kulinganiselwa ukuthi kungama-2 ms, okwanele ukwenza ukuhlaselwa kwesiteshi eseceleni (ukuqhathanisa: ukunemba kwesibali sikhathi esivamile seJavaScript kusiphequluli seTor yehliswe yaya ku-100ms). Ngokuhlaselwa, akukho ukulawulwa kwiseva ye-DNS okudingekayo, njengoba isikhathi sokwenza umsebenzi sikhethiwe ukuze isikhathi sokuphendula se-DNS sisebenze njengesiginali sokuqedwa kwangaphambi kwesikhathi kokuqinisekiswa (kuya ngokuthi ngabe isiphatho sephutha siqale ekuqaleni noma kamuva). , kuphethwa ukuthi ukusebenza kokuqinisekisa okunenqolobane kuqediwe) ...

Ukuhlaselwa kwesibili kwe- "String and Sock" kuklanyelwe ukweqa amasu okuphepha evimbela ukusetshenziswa kwamalungu afanayo weJavaScript esezingeni eliphansi. Esikhundleni samalungu afanayo, i-String ne-Sock zisebenzisa ukusebenza ezintanjeni ezinkulu kakhulu, ubukhulu bazo obukhethiwe ukuze okuguquguqukayo kumboze yonke inqolobane ye-LLC (isilondolozi sezinga eliphezulu).

Okulandelayo, kusetshenziswa umsebenzi we-indexOf (), uchungechunge oluncane luyaseshwa entanjeni, ekuqaleni engekho entanjeni yokuqala, okungukuthi, umsebenzi wokusesha uholela ekuphindaphindeni ngentambo yonke. Njengoba usayizi womugqa uhambelana nosayizi we-LLC cache, ukuskena kuvumela ukusebenza kwesheke kwe-cache ukwenziwa ngaphandle kokukhohlisa ukuhlelwa. Ukukala ukubambezeleka, esikhundleni se-DNS, lokhu kuyisikhalazo kuseva ehlaselayo yeWebSocket elawulwa ngumhlaseli: ngaphambi kokuqala nangemva kokuphela komsebenzi wokusesha, izicelo zithunyelwa ku-chain,

Uhlobo lwesithathu lokuhlasela kwe- "CSS PP0" nge-HTML ne-CSS, futhi lungasebenza kwiziphequluli ezineJavaScript ekhutshaziwe. Le ndlela ibukeka njenge- "String and Sock" kepha ayibophezelekile kuJavaScript. Lokhu kuhlasela kukhiqiza isethi yabakhethi be-CSS abasesha ngemaski. Ulayini omkhulu wokuqala ogcwalisa inqolobane isethwe ngokwakha ithegi ye-div enegama leklasi elikhulu kakhulu, futhin okuphakathi ngaphakathi kunesethi yamanye ama-div anezihlonzi zawo.

Ngamunye we lawa ma-div ahlanganisiwe afakwe isitayela esibheka i-substring. Lapho kunikezwa ikhasi, isiphequluli kuqala sizame ukucubungula ama-div angaphakathi, okuholela ekuseshweni ngentambo enkulu. Usesho lwenziwa kusetshenziswa imaski ecacile elahlekile futhi kuholele ekuphindaphindweni kwentambo yonke, ngemuva kwalokho kubangelwe isimo "cha" bese kwenziwa umzamo wokulayisha isithombe sangemuva.


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.