Ts'ebetsong ea ts'ebetso ea memchr e hlahisitsoe bakeng sa kernel ea Linux, e tsamaeang ka makhetlo a 4 ka potlako

Sete sa lipache tse nang le ts'ebetso e ntlafalitsoeng ea memchr() ts'ebetso, e sebelisoang ho batla lets'oao ka bongata, e khothalelitsoe hore e kenyellelitsoe ho Linux kernel. Ho fapana le mofuta oa khale, o sebelisitseng papiso ea byte-byte, ts'ebetsong e reriloeng e hahiloe ho nahanoa ka tšebeliso e felletseng ea lirekoto tsa 64- le 32-bit CPU. Ho e-na le li-byte, papiso e etsoa ho sebelisoa mantsoe a mochine, a lumellang bonyane li-byte tse 4 ho bapisoa ka nako.

Ha u batlisisa ka likhoele tse kholo, khetho e ncha e ile ea e-ba makhetlo a 4 ka potlako ho feta ea khale (mohlala, bakeng sa likhoele tsa litlhaku tse 1000). Bakeng sa likhoele tse nyenyane, katleho ea ts'ebetsong e ncha ha e bohlokoa hakaalo, empa e ntse e le holimo ha e bapisoa le phetolelo ea pele. Ho Linux kernel, boholo ba likhoele tse sebetsitsoeng ka memchr () li fihla ho li-byte tse 512. Phaello ea ts'ebetso bakeng sa likhoele tsa 512 byte, maemong ao setho se batlisisitsoeng se leng qetellong ea khoele, ke 20%.

Ho leka 5.18 kernel ka khetho e ncha ea "memchr()" bakeng sa meralo ea 32-bit le 64-bit ha hoa ka ha senola mathata. Kakaretso ea kakaretso ea ts'ebetso ea kernel subsystems ha o sebelisa mofuta o ntlafalitsoeng oa "memchr()" ha e so hlahlojoe, kapa monyetla oa ho kenya ts'ebetsong ha o so hlahlojoe (ho khoutu ea kernel, mehala ho memchr () ts'ebetso e etsahala makhetlo a 129. , ho kenyelletsa le khoutu ea bakhanni le litsamaiso tsa lifaele).

Source: opennet.ru

Eketsa ka tlhaloso