Buidheann de luchd-rannsachaidh bho Oilthigh Teicnigeach Graz (An Ostair), a bha aithnichte roimhe airson dòighean ionnsaigh a leasachadh
Gus na crìochan sin a dhearbhadh, tha e gu leòr còd JavaScript a ruith air ullachadh le luchd-rannsachaidh sa bhrobhsair. Ann an cleachdadh, faodar an dòigh a chleachdadh chan ann a-mhàin mar stòr a bharrachd airson comharrachadh neo-dhìreach an neach-cleachdaidh, ach cuideachd gus crìochan àrainneachd an t-siostaim a dhearbhadh airson cleachdadh cuimsichte de chleachdaidhean, a ’toirt aire don OS, ailtireachd agus brobhsair. Tha an dòigh èifeachdach cuideachd nuair a bhios tu a’ cleachdadh brobhsairean a chuireas an sàs dòighean bacadh aithneachaidh falaichte, leithid Tor Browser. Còd stòr prototype le cur an gnìomh dòigh
Tha an co-dhùnadh air a dhèanamh air bunait comharrachadh pàtrain staid seilbh ann an JavaScript a tha àbhaisteach do dhiofar brobhsairean agus feartan ùine cur an gnìomh gnìomhachd, a rèir feartan an JIT, CPU agus uidheamachd riarachadh cuimhne. Bithear a’ mìneachadh thogalaichean le bhith a’ cruthachadh liosta de gach nì a gheibhear bho JavaScript. Mar a thionndaidh e a-mach, tha an àireamh de nithean dìreach co-cheangailte ris an einnsean brabhsair agus an dreach aige.
gnìomh getProperties(o) {
var toradh = [];
fhad 's a tha (o!== null) {
toradh = toradh.concat(Reflect.ownKeys(o));
o = Object.getPrototypeOf(o);
}
toradh air ais;
}
Mar eisimpleir, airson Firefox tha na sgrìobhainnean ag innse taic airson togalaichean 2247, agus is e an fhìor àireamh de thogalaichean comharraichte, a’ toirt a-steach feadhainn gun sgrìobhainn, 15709 (ann am Brabhsair Tor - 15639), airson togalaichean Chrome 2698 air an ainmeachadh, ach ann an da-rìribh tha 13570 air an tabhann (ann an Chrome airson Android - 13119). Bidh an àireamh agus luachan thogalaichean ag atharrachadh bho dhreach brabhsair gu dreach brabhsair agus thairis air diofar shiostaman obrachaidh.
Faodar luachan agus làthaireachd cuid de thogalaichean a chleachdadh gus an seòrsa OS a dhearbhadh. Mar eisimpleir, ann an Kubuntu tha an togalach window.innerWidth suidhichte gu 1000, agus ann an Windows 10 tha e air a shuidheachadh gu 1001. Tha an togalach window.navigator.activeVRDisplays ri fhaighinn air Windows, ach chan eil e ri fhaighinn air Linux. Airson Android, tha mòran fiosan sònraichte air an toirt seachad, ach chan eil window.SharedWorker. Gus an siostam obrachaidh a chomharrachadh, thathar cuideachd a 'moladh mion-sgrùdadh a chleachdadh air crìochan WebGL, a tha an urra ris na draibhearan. A bharrachd air an sin, le bhith a’ gairm WEBGL_debug_renderer_infoextension leigidh sin leat fiosrachadh fhaighinn mun einnsean tairgse OpenGL, a tha eadar-dhealaichte airson gach siostam obrachaidh.
Gus an CPU a dhearbhadh, thathas a ’cleachdadh measadh air eadar-dhealachaidhean ann an ùine cur an gnìomh diofar bhlocaichean còd àbhaisteach, agus bidh an làimhseachadh an urra ri ailtireachd an t-seata stiùiridh, a’ toirt aire do ghiùlan JIT (tha e air a dhearbhadh cia mheud clàr CPU a thèid a chleachdadh agus anns na cùisean sin cruthaichidh JIT còd èifeachdach le optimizations agus cleachdadh stiùireadh leudaichte, agus nuair nach eil). Gus faighinn a-mach dè an seòrsa siostam cuimhneachaidh agus siostam obrachaidh a th 'ann, tha an eadar-dhealachadh ann an ùine riarachadh cuimhne airson diofar structaran cuideachd air a thomhas, a dh'fhaodar a chleachdadh gus meud nam blocaichean cuimhne a mheasadh.
Tha na crìochan a chaidh a dhearbhadh rè coileanadh sgriobt air an coimeas ri luachan iomraidh a tha àbhaisteach airson àrainneachdan a chaidh a dhearbhadh roimhe. Rè an deuchainn, bha an dòigh leasaichte ga dhèanamh comasach 40 àrainneachd deuchainn eadar-dhealaichte a chomharrachadh gu ceart, a ’comharrachadh na dreachan de bhrobhsairean a chaidh a chleachdadh, an neach-dèanamh CPU, an siostam obrachaidh a chaidh a chleachdadh, agus an fhìrinn gu robh e a’ ruith air fìor bhathar-cruaidh no ann an inneal brìgheil.
Air leth, tha e air a thoirt fa-near gu bheil e comasach tuilleadan brabhsair agus eadhon roghainnean tuilleadan fa leth a mhìneachadh, a’ toirt a-steach tuilleadan a chaidh a dhealbhadh gus dòighean aithneachaidh falaichte no gnìomhachd modh brobhsaidh prìobhaideach a bhacadh. Ann an co-theacsa an dòigh a thathar a’ moladh, bidh an leithid de chur-ris gu bhith na stòr dàta eile airson comharrachadh. Tha cur-ris air a dhearbhadh le bhith a’ measadh saobhadh paramadairean na h-àrainneachd thùsail a chaidh a thoirt a-steach leis na cur-ris.
Tha dòighean aithneachaidh eile a’ toirt a-steach a bhith a’ toirt aire do dhàta neo-dhìreach mar
Source: fosgailtenet.ru