Thathas air moladh a dhèanamh air gnìomh memchr airson an kernel Linux, a’ ruith suas ri 4 tursan nas luaithe

Chaidh seata de phìosan le buileachadh làn-leasaichte den ghnìomh memchr (), air a chleachdadh gus samhla a lorg ann an sreath, a mholadh airson a thoirt a-steach don kernel Linux. Eu-coltach ris an t-seann dreach, a chleachd coimeas byte-by-byte, tha am buileachadh a thathar a’ moladh air a thogail a’ toirt aire do làn fheum de chlàran CPU 64- agus 32-bit. An àite bytes, thathas a’ dèanamh coimeas a’ cleachdadh faclan inneal, a leigeas le co-dhiù 4 bytes a choimeas aig aon àm.

Nuair a bhios tu a’ lorg sreangan mòra, thionndaidh an roghainn ùr a-mach gu bhith timcheall air 4 tursan nas luaithe na an t-seann fhear (mar eisimpleir, airson sreathan de 1000 caractar). Airson sreathan beaga, chan eil èifeachdas buileachaidh ùr cho cudromach, ach tha e fhathast nas àirde an taca ris an dreach tùsail. Anns an kernel Linux, tha meud nan sreangan air an giullachd ann am memchr () a’ ruighinn 512 bytes. Is e a’ bhuannachd coileanaidh airson sreathan byte 512, ann an suidheachadh far a bheil an caractar a chaidh a sgrùdadh aig deireadh an t-sreang, 20%.

Cha do nochd deuchainn air an kernel 5.18 leis an roghainn ùr “memchr ()” airson ailtireachd 32-bit agus 64-bit duilgheadas sam bith. Cha deach buannachd dèanadais iomlan fo-shiostaman kernel nuair a thathar a’ cleachdadh an dreach leasaichte de “memchr ()” a mheasadh fhathast, agus cha deach sgrùdadh a dhèanamh air comasachd a’ bhuileachadh a chuir an àite (anns a’ chòd kernel, bidh fiosan gu gnìomh memchr () a’ tachairt 129 uair. , a’ gabhail a-steach còd dhraibhearan agus siostaman faidhle).

Source: fosgailtenet.ru

Cuir beachd ann