Tha 70% de dhuilgheadasan tèarainteachd ann an Chromium air adhbhrachadh le mearachdan cuimhne

Luchd-leasachaidh a’ phròiseict Chromium mion-sgrùdadh 912 so-leòntachd àrd-chunnart agus èiginneach air an comharrachadh ann an sgaoilidhean seasmhach de Chrome bho 2015, agus cho-dhùin iad gun robh 70% dhiubh air an adhbhrachadh le mì-thèarainteachd cuimhne (mearachdan nuair a bha iad ag obair le comharran ann an còd C / C ++). Tha leth de na duilgheadasan sin (36.1%) air adhbhrachadh le bhith a’ faighinn a-steach don bhufair às deidh dhaibh a’ chuimhne a tha co-cheangailte ris a shaoradh (gun chleachdadh às deidh).

Tha 70% de dhuilgheadasan tèarainteachd ann an Chromium air adhbhrachadh le mearachdan cuimhne

Nuair a bhathas a’ dealbhadh Chromium bha e an toiseach air a leagailgu bheil e comasach gun nochd mearachdan sa chòd, agus mar sin chaidh cuideam mòr a chuir air cleachdadh aonaranachd bogsa gainmhich gus buaidh so-leòntachd a chuingealachadh. An-dràsta, tha na cothroman air an teicneòlas seo a chleachdadh air crìoch a chuir air na comasan aca agus tha e do-dhèanta tuilleadh briseadh a-steach do phròiseasan a thaobh caitheamh ghoireasan.

Gus tèarainteachd a’ chòd-chòd a chumail suas, tha Google cuideachd a’ cur an gnìomh “riaghailt a dhà“, a rèir nach fheum còd sam bith a bharrachd coinneachadh ri barrachd air dhà de thrì chumhachan: ag obair le dàta cuir a-steach neo-dhearbhte, a’ cleachdadh cànan prògramadh mì-chinnteach (C / C ++) agus a’ ruith le sochairean àrdaichte. Tha an riaghailt seo a’ ciallachadh gum feum an còd airson a bhith a’ giullachd dàta bhon taobh a-muigh a bhith air a lughdachadh gu sochairean beaga (iomallach) no air a sgrìobhadh ann an cànan prògramaidh tèarainte.

Gus tuilleadh leasachaidh a dhèanamh air tèarainteachd bunait a’ chòd, chaidh pròiseact a chuir air bhog gus casg a chuir air mearachdan cuimhne bho bhith a’ nochdadh ann am bunait a’ chòd. Tha trì prìomh dhòighean-obrach ann: cruthachadh leabharlannan C ++ le gnìomhan airson obrachadh sàbhailte na cuimhne agus leudachadh farsaingeachd an neach-cruinneachaidh sgudail, a’ cleachdadh dòighean dìon bathar-cruaidh. MTE (Memory Tagging Extension) agus a 'sgrìobhadh phàirtean ann an cànanan a nì cinnteach gu sàbhailte obrachadh le cuimhne (Java, Kotlin, JavaScript, Rust, Swift).

Thathas an dùil gun tèid an obair a chuimseachadh air dà raon:

  • Atharrachadh mòr air pròiseas leasachaidh C ++, nach eil a’ dùnadh a-mach droch bhuaidh air coileanadh (sgrùdaidhean crìochan a bharrachd agus cruinneachadh sgudail). An àite puingean amh, thathar a 'moladh an seòrsa a chleachdadh MiraclePtr, a leigeas leat mearachdan a ghabhas cleachdadh às deidh cleachdadh a lughdachadh gu tubaistean nach eil nan cunnart tèarainteachd, gun droch bhuaidh follaiseach air coileanadh, caitheamh cuimhne agus seasmhachd.
  • Bidh cleachdadh chànanan a tha air an dealbhadh gus sgrùdaidhean sàbhailteachd cuimhne a dhèanamh aig àm cruinneachaidh (cuiridh sin às don droch bhuaidh air coileanadh a tha dualach don leithid de sgrùdaidhean rè coileanadh còd, ach thig e gu cosgaisean a bharrachd airson a bhith ag eagrachadh eadar-obrachadh còd ann an cànan ùr le còd ann an C++).

Is e cleachdadh leabharlannan cuimhne-sàbhailte an dòigh as sìmplidh, ach cuideachd nach eil cho èifeachdach. Tha ath-sgrìobhadh a 'chòd ann an Rust air a mheas mar an dòigh as èifeachdaiche, ach cuideachd gu math daor.

Tha 70% de dhuilgheadasan tèarainteachd ann an Chromium air adhbhrachadh le mearachdan cuimhne

Source: fosgailtenet.ru

Cuir beachd ann