Ua manaʻo ʻia kahi hoʻokō o ka hana memchr no ka Linux kernel, e holo ana a hiki i 4 mau manawa wikiwiki

ʻO kahi pūʻulu o nā pā me ka hoʻokō pono ʻana o ka hana memchr (), i hoʻohana ʻia no ka ʻimi ʻana i kahi hōʻailona ma kahi ʻano, ua manaʻo ʻia no ka hoʻokomo ʻana i ka kernel Linux. ʻAʻole like me ka mana kahiko, i hoʻohana i ka hoʻohālikelike byte-by-byte, ua kūkulu ʻia ka hoʻokō i manaʻo ʻia me ka hoʻohana piha ʻana i nā papa inoa 64- a me 32-bit CPU. Ma kahi o nā bytes, hana ʻia ka hoʻohālikelike me ka hoʻohana ʻana i nā huaʻōlelo mīkini, kahi e hiki ai ke hoʻohālikelike ʻia i ka liʻiliʻi he 4 paita i ka manawa.

I ka ʻimi ʻana i nā kaula nui, ua ʻike ʻia ka koho hou ma kahi o 4 mau manawa wikiwiki ma mua o ka mea kahiko (no ka laʻana, no nā kaula o 1000 mau huaʻōlelo). No nā kaula liʻiliʻi, ʻaʻole koʻikoʻi ka maikaʻi o ka hoʻokō hou, akā ʻoi aku ka kiʻekiʻe ma mua o ka mana kumu. Ma ka Linux kernel, hiki i ka nui o nā kaula i hana ʻia ma memchr() hiki i 512 bytes. ʻO ka loaʻa ʻana o ka hana no nā kaula 512 byte, i kahi kūlana kahi i ʻimi ʻia ma ka hope o ke kaula, ʻo 20%.

ʻO ka hoʻāʻo ʻana i ka kernel 5.18 me ka koho "memchr ()" hou no nā hale kiʻi 32-bit a me 64-bit ʻaʻole i hōʻike i kekahi pilikia. ʻAʻole i loiloi ʻia ka loaʻa ʻana o ka hana holoʻokoʻa o nā subsystem kernel i ka wā e hoʻohana ai i ka mana o ka "memchr()", a ʻaʻole i loiloi ʻia ka hiki ke hoʻololi i ka hoʻokō (ma ke code kernel, kāhea ʻia ka hana memchr() 129 manawa. , i loko o ke code o nā mea hoʻokele a me nā ʻōnaehana faila).

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka