Nosokafan'i Microsoft ny kaody ho an'ny rafitra fitsinjarana fahatsiarovana mimalloc

Nanokatra tranomboky teo ambanin'ny lisansa MIT i Microsoft mmalloc avy amin'ny fampiharana rafitra fitsinjarana fahatsiarovana noforonina tany am-boalohany ho an'ny singa fampandehanan-teny amin'ny fiteny Koka и Lean. Mimalloc dia namboarina ho ampiasaina amin'ny fampiharana mahazatra nefa tsy manova ny kaody ary afaka miasa ho toy ny fanoloana mangarahara ho an'ny fiasa malloc. Manohana ny asa amin'ny Windows, macOS, Linux, BSD ary rafitra hafa mitovy amin'ny Unix.

Ny endri-javatra manan-danja amin'ny mimalloc dia ny fampiharana azy (latsaky ny kaody latsaky ny 3500) ary ny fampisehoana avo lenta. IN fitsapana natao Mimalloc dia nihoatra noho ny tranomboky fizarana fahatsiarovana nifaninana rehetra, anisan'izany jemalloc, tcmalloc, snmalloc, rpmalloc и no manangon.

Mba hanombanana ny zava-bita, andiana efa misy fitsapana manara-penitra Amin'ny fitsapana sasany, ny mimalloc dia im-betsaka haingana kokoa noho ny rafitra hafa; ohatra, amin'ny fitsapana ny fifindran'ny zavatra eo anelanelan'ny kofehy samihafa, ny mimalloc dia nivadika ho haingana kokoa noho ny 2.5 heny noho ny tcmalloc sy jemalloc. Mandritra izany fotoana izany, amin'ny ankamaroan'ny fitsapana dia hita ihany koa ny fanjifana fahatsiarovana ambany kokoa; Amin'ny toe-javatra sasany, ny fanjifana fahatsiarovana dia azo ahena 25%.

Nosokafan'i Microsoft ny kaody ho an'ny rafitra fitsinjarana fahatsiarovana mimalloc

Fahombiazana ambony no tratra indrindra amin'ny alalan'ny fampiasana ny sharding lisitra maimaim-poana. Raha tokony ho lisitra lehibe iray, ny mimalloc dia mampiasa andiana lisitra kely kokoa, izay mifamatotra amin'ny pejy fitadidiana ny tsirairay amin'izy ireo. Ity fomba ity dia mampihena ny fizarazarana ary mampitombo ny toerana misy ny angona ao amin'ny fitadidiana. Ny pejy fitadidiana dia andiana bloc mitambatra mitovy habe. Amin'ny rafitra 64-bit, ny haben'ny pejy dia matetika 64 KB. Raha tsy misy sakana misy tavela ao amin'ny pejy, dia afaka tanteraka izany ary averina amin'ny rafitra fiasa ny fahatsiarovana, izay mampihena ny vidin'ny fitadidiana sy ny fizarazarana amin'ny programa efa ela.

Ny tranomboky dia azo ampidirina amin'ny dingana fampifandraisana na entina ho an'ny programa efa tafavory (“LD_PRELOAD=/usr/bin/libmimalloc.so myprogram”). Ny tranomboky koa dia manome API amin'ny fampidirana ny fampiasa amin'ny fotoana fandehanana sy ny fanaraha-maso ny fitondran-tena tsara, ohatra, amin'ny fampifandraisana ireo mpikirakira famotsorana fahatsiarovana malaina sy ireo kaontinao reference. Azo atao ny mamorona sy mampiasa "ambony" maromaro amin'ny fampiharana iray hozaraina amin'ny faritra fitadidiana samihafa. Azo atao ihany koa ny manafaka tanteraka ny antontam-bato, tsy mandalo sy manafaka ireo zavatra napetraka ao anatiny.

Azo atao ny manangana tranomboky amin'ny fomba azo antoka, izay solon'ny pejy fanaraha-maso fitadidiana manokana (pejy mpiambina) eo amin'ny sisin-tanin'ny sakana, ary ampiasaina amin'ny randomization ny fizarana sakana sy ny fanafenana ny lisitry ny sakana afaka. Ny fepetra toy izany dia ahafahana manakana ny teknika mahazatra indrindra amin'ny fitrandrahana ny fihoaran'ny buffer mifototra amin'ny antontam-bato. Rehefa avelanao ny Safe Mode dia mihena 3% eo ho eo ny fampisehoana.

Anisan'ny endri-javatra ny mimalloc, dia voamarika ihany koa fa tsy mora ny olana amin'ny bloating noho ny fisarahana lehibe. Amin'ny tranga ratsy indrindra, mitombo 0.2% ny fanjifana fahatsiarovana ho an'ny metadata ary mety hahatratra 16.7% ho an'ny fahatsiarovana mizara. Mba hisorohana ny fifandirana rehefa miditra amin'ny loharanon-karena, ny mimalloc dia tsy mampiasa afa-tsy asa atomika.

Source: opennet.ru

Add a comment