Tha Microsoft air an còd fhosgladh airson siostam riarachadh cuimhne mimalloc

Tha Microsoft air leabharlann fhosgladh fo chead MIT mhalloc bho bhuileachadh siostam riarachadh cuimhne a chaidh a chruthachadh an toiseach airson co-phàirtean ùine ruith de chànanan Koka и Lean. Tha Mimalloc air atharrachadh airson a chleachdadh ann an tagraidhean àbhaisteach gun a bhith ag atharrachadh a’ chòd aca agus faodaidh e a bhith na àite follaiseach airson gnìomh malloc. A’ toirt taic do dh’ obair air Windows, macOS, Linux, BSD agus siostaman eile coltach ri Unix.

Is e prìomh fheart mimalloc a bhuileachadh teann (nas lugha na loidhnichean còd 3500) agus coileanadh fìor àrd. ANNS deuchainnean air an coileanadh rinn mimalloc nas fheàrr na leabharlannan riarachadh cuimhne farpaiseach, a’ gabhail a-steach jemalloc, tcmalloc, snmalloc, rpmalloc и Uallach.

Gus measadh a dhèanamh air coileanadh, seata de gnàthaichte deuchainnean àbhaisteach Ann an cuid de dheuchainnean, tha mimalloc iomadh uair nas luaithe na siostaman eile; mar eisimpleir, ann an deuchainn imrich stuthan eadar diofar snàithleanan, thionndaidh mimalloc a-mach gu bhith còrr is 2.5 uair nas luaithe na tcmalloc agus jemalloc. Aig an aon àm, anns a ’mhòr-chuid de dheuchainnean, thathas cuideachd a’ cumail sùil air caitheamh cuimhne nas ìsle; ann an cuid de shuidheachaidhean, faodar caitheamh cuimhne a lughdachadh 25%.

Tha Microsoft air an còd fhosgladh airson siostam riarachadh cuimhne mimalloc

Tha coileanadh àrd air a choileanadh sa mhòr-chuid tro bhith a’ cleachdadh sharding liosta an-asgaidh. An àite aon liosta mhòr, bidh mimalloc a 'cleachdadh sreath de liostaichean nas lugha, agus tha gach fear dhiubh ceangailte ri duilleag cuimhne. Bidh an dòigh-obrach seo a’ lughdachadh sgaradh agus a’ meudachadh sgìre dàta ann an cuimhne. Tha duilleag cuimhne na sheata de bhlocaichean den aon mheud. Air siostaman 64-bit, mar as trice tha meud na duilleige 64 KB. Mura h-eil blocaichean còmhnaidh air fhàgail air an duilleag, tha e air a shaoradh gu tur agus thèid an cuimhne a thilleadh chun t-siostam obrachaidh, a lughdaicheas cosgaisean cuimhne agus briseadh ann am prògraman fad-ùine.

Faodar an leabharlann a thoirt a-steach aig an ìre ceangail no a luchdachadh airson prògram a chaidh a chruinneachadh mu thràth (“LD_PRELOAD =/usr/bin/libmimalloc.so myprogram”). Tha an leabharlann cuideachd a’ toirt seachad API airson a bhith ag amalachadh gnìomhachd ann an ùine ruith agus smachd giùlan grinn, mar eisimpleir, airson a bhith a’ ceangal luchd-làimhseachaidh fuasglaidh cuimhne leisg agus ag àrdachadh cunntairean iomraidh gu monotonach. Tha e comasach grunn “chruachan” a chruthachadh agus a chleachdadh ann an tagradh airson an sgaoileadh thairis air diofar raointean cuimhne. Tha e comasach cuideachd an tiùrr a shaoradh gu tur, gun a bhith a’ dol troimhe agus a’ saoradh nan nithean a tha air an cur ann.

Tha e comasach an leabharlann a thogail ann am modh sàbhailte, anns am bi duilleagan sgrùdaidh cuimhne sònraichte (duilleagan dìon) air an cur an àite crìochan a ’bhloc, agus thathas a’ cleachdadh cuairteachadh bloca air thuaiream agus crioptachadh liostaichean de bhlocaichean saor. Tha ceumannan mar seo ga dhèanamh comasach casg a chuir air na dòighean as cumanta airson brath a ghabhail air tar-shruthan bufair stèidhichte air tiùrr. Nuair a chuireas tu an comas Modh Sàbhailte, bidh coileanadh a’ lughdachadh timcheall air 3%.

Am measg nam feartan aig mimalloc, tha e cuideachd air a thoirt fa-near nach eil e buailteach do dhuilgheadasan le bloating air sgàth sgaradh mòr. Anns an t-suidheachadh as miosa, bidh caitheamh cuimhne ag àrdachadh 0.2% airson meata-dàta agus faodaidh e ruighinn 16.7% airson cuimhne sgaoilte. Gus còmhstrithean a sheachnadh nuair a thathar a’ faighinn cothrom air goireasan, cha bhith mimalloc a’ cleachdadh ach obrachaidhean atamach.

Source: fosgailtenet.ru

Cuir beachd ann