Ko te whakatinanatanga o te mahi memchr kua whakaarohia mo te kernel Linux, e rere ana ki te 4 nga wa tere ake

He huinga papaki me te whakatinanatanga papaitia o te mahi memchr(), i whakamahia hei rapu tohu i roto i te huinga, kua whakaarohia kia whakauruhia ki roto i te pata Linux. Kaore i rite ki te putanga tawhito, i whakamahia te whakataurite paita-a-paita, ka hangaia te whakatinanatanga e whakaarohia ana ma te whakaaro ki te whakamahi katoa o nga rehita PTM 64 me te 32-bit. Engari i nga paita, ka mahia te whakatairite ma te whakamahi i nga kupu miihini, e taea ai te whakataurite i te iti rawa 4 paita i te wa kotahi.

I te wa e rapu ana i roto i nga aho nui, ko te waahanga hou ka tata ki te 4 nga wa tere atu i te tawhito (hei tauira, mo nga aho o te 1000 tohu). Mo nga aho iti, ko te kaha o te whakatinanatanga hou ehara i te mea tino nui, engari he nui ake te whakataurite ki te putanga taketake. I roto i te kernel Linux, ko te rahi o nga aho i tukatukahia ki memchr() ka tae ki te 512 paita. Ko te whiwhinga mahi mo nga aho 512 paita, i roto i te ahuatanga ko te ahua rapu kei te pito o te aho, he 20%.

Ko te whakamatautau i te pata 5.18 me te waahanga "memchr()" hou mo nga hoahoanga 32-bit me te 64-bit kaore i kitea he raru. Ko te nui o nga mahi o nga punaha riikiri ina whakamahi i te putanga tino pai o te "memchr()" kaore ano kia aromatawaihia, kaore ano hoki i tātarihia te kaha ki te whakakapi i te whakatinanatanga (i roto i te waehere kernel, ka puta nga waea ki te mahi memchr() 129 nga wa. , tae atu ki te waehere o nga taraiwa me nga punaha konae).

Source: opennet.ru

Tāpiri i te kōrero