Microsoft tau qhib lub tsev qiv ntawv raws li MIT daim ntawv tso cai
Cov yam ntxwv tseem ceeb ntawm mimalloc yog nws cov kev ua haujlwm compact (tsawg dua 3500 kab ntawm txoj cai) thiab kev ua haujlwm siab heev. IN
Txhawm rau ntsuas kev ua tau zoo, ib txheej uas twb muaj lawm
Kev ua haujlwm siab yog ua tiav los ntawm kev siv cov npe dawb sharding. Hloov chaw ntawm ib daim ntawv loj, mimalloc siv cov npe me me, txhua qhov uas yog khi rau nplooj ntawv nco. Txoj hauv kev no txo cov fragmentation thiab nce cov ntaub ntawv hauv zos hauv nco. Nplooj ntawv nco yog ib pawg ntawm cov blocks uas zoo sib xws. Ntawm 64-ntsis tshuab, nplooj ntawv loj yog feem ntau 64 KB. Yog tias tsis muaj cov blocks nyob sab laug hauv nplooj ntawv, nws tau tso tawm tag nrho thiab lub cim xeeb rov qab mus rau lub operating system, uas txo cov nqi nco thiab kev tawg ntawm cov kev pabcuam ntev.
Lub tsev qiv ntawv tuaj yeem suav nrog rau ntawm theem txuas lossis thauj khoom rau qhov kev pab cuam uas twb muaj lawm (“LD_PRELOAD=/usr/bin/libmimalloc.so myprogram”). Lub tsev qiv ntawv kuj muaj
Nws muaj peev xwm tsim lub tsev qiv ntawv hauv hom kev nyab xeeb, hauv qhov tshwj xeeb nco cov nplooj ntawv tshawb xyuas (cov nplooj ntawv saib xyuas) tau hloov pauv ntawm cov ciam teb thaiv, thiab randomization ntawm block faib thiab encryption ntawm cov npe ntawm cov blocks pub dawb yog siv. Cov kev ntsuas no ua rau nws muaj peev xwm los thaiv cov txheej txheem feem ntau rau kev siv heap-based buffer overflows. Thaum koj qhib Safe Mode, kev ua tau zoo txo qis li ntawm 3%.
Ntawm cov yam ntxwv ntawm mimalloc, nws kuj tseem tau sau tseg tias nws tsis muaj kev cuam tshuam rau cov teeb meem nrog tsam plab vim qhov tawg loj. Hauv qhov xwm txheej phem tshaj plaws, kev siv lub cim xeeb nce 0.2% rau metadata thiab tuaj yeem ncav cuag 16.7% rau kev faib khoom. Txhawm rau zam kev tsis sib haum xeeb thaum nkag mus rau cov peev txheej, mimalloc tsuas yog siv cov haujlwm atomic xwb.
Tau qhov twg los: opennet.ru