Vakagadzira akateedzana eCPU cache kudzoreredza kurwisa pamabhurawuza ewebhu vasingade JavaScript

Chikwata chevaongorori kubva kumayunivhesiti akasiyana siyana MaAmerican, Israelis uye maAustralia yakagadzira katatu kurwisa kwakanangana newebhu mabhurawuza ayo anotendera kuburitswa kweruzivo nezve izvo zvirimo processor processor. Maitiro inoshanda mumabhurawuza asina JavaScript uye mamwe maviri anopfuura nzira dziripo dzekudzivirira pakurwisa kuburikidza neyechitatu-bato nzira, kusanganisira idzo dzinoshandiswa muTor browser uye DeterFox.

Kuongorora zvirimo mune cache mu kurwisa kwese kunoshandisa iyo "Prime + Probe" nziraque inosanganisira kuzadza cache neyakagadziriswa mareferensi uye kuona shanduko nekuyera nguva yekuwana kwavari kana vaiswa patsva. Kuti udarike nzira dzekuchengetedza dziripo mumabhurawuza, ayo anodzivirira chaiyo nguva yekuyera, mumhando mbiri inodzorwa inorwisa DNS kana WebSocket server inodaidzwa, iyo inochengeta zvinyorwa zvenguva yekugamuchira zvikumbiro. Mukumwe kumisikidza, iyo yakamisikidzwa nguva yekupindura yeDNS inoshandiswa sereferensi yenguva.

Zviyero zvakaitwa nekushandisa ekunze maSeva eDNS kana WebSocket, nekuda kwekushandisa kwegadziriro sisitimu yakavakirwa pakudzidza kwemuchina, zvaive zvakakwana kufungidzira kukosha nekururama kwe98% mune yakanyanya kunaka mamiriro (paavhareji 80-90%). Maitiro ekurwisa akaedzwa pane akasiyana mapuratifomu ehurdware (Intel, AMD Ryzen, Apple M1, Samsung Exynos) uye zvakaratidza kuve zvine mutsindo.

Musiyano wekutanga weiyo DNS Mujaho kurwisa inoshandisa yakasarudzika kuitisa iyo Prime + Probe nzira uchishandisa JavaScript arrays. Misiyano inouya mukushandisa kwekunze DNS-yakavakirwa timer uye yekukanganisa inobata iyo moto kana uchiedza kurodha mufananidzo kubva kune isipo nzvimbo. Iyo yekunze timer inobvumidza Prime + Probe kurwisa mumabhurawuza anodzivisa kana kudzima zvachose JavaScript timer kuwana.

Kune server reDNS rakabatwa pane imwecheteyo Ethernet network, iko kurongeka kweiyo timer inofungidzirwa kuve ingangoita 2 ms, izvo zvinokwana kuita padivi chiteshi kurwisa (kwekuenzanisa: iko kurongeka kweyakajairwa JavaScript timer muTor browser ine yakaderedzwa kusvika ku100ms). Zvekurwisa, hapana kutonga pamusoro peDNS server kunodiwasezvo nguva yekuurayiwa kwekushanda yasarudzwa kuitira kuti nguva yekupindura yeDNS ishande sechiratidzo chekupedzisa kwekutanga kweiyo ongororo (zvinoenderana nekuti iyo yekukanganisa inobata yakakonzerwa kare kana kuti gare gare). , zvinogumiswa kuti kushanda kwekusimbisa ne cache kwapera) ...

Yechipiri "String uye Sock" kurwisa kwakagadzirirwa kupfuura nzira dzekuchengetedza iyo inorambidza kushandiswa kweakaderera-chikamu JavaScript arrays. Panzvimbo pekurongedzwa, String uye Sock inoshandisa yakakura kwazvo tambo mashandiro, saizi yayo inosarudzwa kuitira kuti iyo kusiana kufukidze iyo yese LLC cache (yepamusoro-chikamu cache).

Tevere, uchishandisa iyo indexOf () basa, diki substring inotsvaga mune tambo, iyo pakutanga isipo mutambo yekutanga, ndokuti, oparesheni yekutsvaga inokonzeresa iteration pamusoro peiyo tambo. Sezvo saizi yemutsara inoenderana nehukuru hweiyo LLC cache, iyo scan inobvumira cache cheki oparesheni kuti iitwe pasina kushandisa manongedzo. Kuyera kunonoka, pachinzvimbo cheDNS, ichi chikumbiro kune inorwisa WebSocket server inodzorwa neanorwisa: isati yatanga uye mushure mekuguma kwekutsvaga kwekutsvaga, zvikumbiro zvinotumirwa muketani,

Iyo yechitatu vhezheni yekurwisa "CSS PP0" kuburikidza neHTML neCSS, uye inogona kushanda mumabhurawuza ane JavaScript yakaremara. Iyi nzira inoita senge "String uye Sock" asi haina kusungirwa kuJavaScript. Kurwiswa kunogadzira seti yeCSS vanosarudza vanotsvaga nemask. Mutsara mukuru wepakutanga unozadza cache inoiswa nekugadzira div tag iine zita rakakura kwazvo rekirasi, uyen iyo mukati mune seti yemamwe madhis anezvitupa zvavo.

Imwe neimwe ye aya akaomeswa divs akagadzirwa nesarudzo iyo inotarisa substring. Kana uchipa peji, mubhurawuza anotanga kuyedza kugadzirisa izvo zvemukati divi, izvo zvinoguma nekutsvaga pane tambo hombe. Kutsvaga kunoitwa kuchishandiswa chiri pachena kusipo mask uye kunotungamira kune iteration yeiyo tambo, mushure meizvozvo iyo 'kwete' mamiriro inokonzereswa uye kuyedza kunoitwa kurodha kumashure kumashure mufananidzo.


Siya yako yekutaura

Your kero e havazobvumirwi ichibudiswa. Raida minda anozivikanwa ne *

*

*

  1. Inotarisira iyo data: Miguel Ángel Gatón
  2. Chinangwa cheiyo data: Kudzora SPAM, manejimendi manejimendi.
  3. Legitimation: Kubvuma kwako
  4. Kutaurirana kwedata
  5. Dhata yekuchengetedza: Dhatabhesi inobatwa neOccentus Networks (EU)
  6. Kodzero: Panguva ipi neipi iwe unogona kudzora, kupora uye kudzima ruzivo rwako