70% ji pirsgirêkên ewlehiyê yên Chromium ji ber xeletiyên bîranînê ne

Pêşdebirên projeya Chromium analîz kirin Ji sala 912-an vir ve 2015 qelsiyên xeternak û krîtîk di derketinên stabîl ên Chrome-ê de hatine nas kirin, û destnîşan kirin ku 70% ji wan ji ber neewlehiya bîranînê (çewtiyên dema ku bi nîşankeran re di koda C/C++ de dixebitin) bûne. Nîvê van pirsgirêkan (% 36.1) ji ber gihîştina tamponê ya piştî azadkirina bîranîna ku pê re têkildar e (bikaranîna-piştî-azad) ve têne çêkirin.

70% ji pirsgirêkên ewlehiyê yên Chromium ji ber xeletiyên bîranînê ne

Dema sêwirana Chromium di destpêkê de bû danîn, ku mimkun e ku xeletî di kodê de xuya bibin, ji ber vê yekê giraniyek mezin li ser karanîna veqetandina sandbox hate danîn da ku encamên lawaziyê bi sînor bike. Heya nuha, îmkanên karanîna vê teknolojiyê gihîştiye sînorê şiyanên xwe û perçebûna bêtir di pêvajoyan de ji hêla xerckirina çavkaniyê ve ne pratîk e.

Ji bo parastina ewlehiya bingeha kodê, Google jî "hukmê du", li gorî ku her kodek lêzêdekirî divê ji du sê mercan zêdetir nebe: xebitandina bi daneya têketina nerastkirî, karanîna zimanek bernamenûsek neewle (C/C++) û xebitandina bi îmtiyazên bilind. Ev qaîde tê vê wateyê ku koda ji bo hilberandina daneya derveyî divê an li îmtiyazên herî hindik were kêm kirin (veqetandin) an jî bi zimanek bernamenûsek ewledar were nivîsandin.

Ji bo zêdekirina ewlehiya bingeha kodê, projeyek hate destpêkirin da ku pêşî li derketina xeletiyên bîranînê di bingeha kodê de bigire. Sê nêzîkatiyên sereke hene: afirandina pirtûkxaneyên C++ bi fonksiyonên ji bo xebata ewledar a bîranînê û berfirehkirina çarçoweya berhevkerê çopê, karanîna mekanîzmayên parastina hardware. MTE (Berfirehkirina Nîşankirina Bîrê) û nivîsandina pêkhateyên bi zimanên ku xebata ewledar bi bîranînê re misoger dikin (Java, Kotlin, JavaScript, Rust, Swift).

Tê çaverêkirin ku xebat di du waran de bêne kirin:

  • Guhertinek girîng di pêvajoya pêşkeftina C ++ de, ku bandorek neyînî li ser performansê (kontrolkirina sînorên zêde û berhevkirina çopê) dernaxe. Li şûna nîşankerên xav, tê pêşniyar kirin ku celeb bikar bînin MiraclePtr, ku destûrê dide te ku hûn xeletiyên îstîsmarker-piştî-bêbedî berbi qezayên ku xetereya ewlehiyê nagirin kêm bikin, bêyî ku bandorek neyînî ya berbiçav li ser performans, vexwarina bîranîn û aramiyê bike.
  • Bikaranîna zimanên ku ji bo pêkanîna kontrolên ewlehiya bîranînê di dema berhevkirinê de hatine sêwirandin (dê bandora neyînî ya li ser performansa xwerû ya di kontrolên weha de di dema pêkanîna kodê de ji holê rake, lê dê bibe sedema lêçûnên zêde ji bo organîzekirina danûstendina kodê di zimanek nû de bi kodê re. C++).

Bikaranîna pirtûkxaneyên ewledar ên bîranînê riya herî hêsan e, lê di heman demê de kêmtir bikêrhatî ye. Koda ji nû ve nivîsandina li Rust wekî awayê herî bi bandor, lê di heman demê de pir biha jî tête nirxandin.

70% ji pirsgirêkên ewlehiyê yên Chromium ji ber xeletiyên bîranînê ne

Source: opennet.ru

Add a comment