Yekem serbestberdana stabîl a çêkerê Mold ku ji hêla LLVM lld ve hatî pêşve xistin

Rui Ueyama, nivîskarê girêdana LLVM lld û berhevkarê chibicc, yekem serbestberdana stabîl a girêdana nû ya bi performansa bilind Mold pêşkêş kir, ku di warê leza girêdana pelê objeyê de bi baldarî li pêş girêkên GNU zêr û LLVM lld ye. Proje ji bo bicîhkirina hilberînê amade tête hesibandin û dikare wekî veguhezek zelal a bileztir ji bo girêdana GNU ya li ser pergalên Linux were bikar anîn. Planên ji bo serbestberdana mezin a paşîn di nav amadebûnê de piştgirîkirina platforma macOS-ê ye, piştî ku dê xebat li ser adaptasyona Mold ji bo Windows dest pê bikin.

Mold bi C++ (C++20) hatiye nivîsandin û di bin lîsansa AGPLv3 de tê belavkirin, ku GPLv3 lihevhatî ye lê ne li gorî GPLv2 ye, ji ber ku ew hewce dike ku di dema pêşdebirina karûbarên torê de guhertin werin vekirin. Ev vebijark ji ber xwesteka wergirtina fonên pêşkeftinê ye - nivîskar amade ye ku mafên kodê ji bo ji nû ve lîsansê di bin destûrnameyek destûrdar de, wek MIT, bifroşe, an ji bo kesên ku ji AGPL ne razî ne, destûrnameyek bazirganî ya cihê peyda bike.

Mold hemî taybetmendiyên girêdana GNU piştgirî dike û pir bilez e, tenê bi nîvê leza kopîkirina pelan bi cp-ê ve girêdide. Mînakî, dema çêkirina Chrome 96 (mezinahiya kodê 1.89 GB), 8 saniye lazim e ku c debuginfo li ser komputerek 53-core bi karanîna zêrê GNU were çêkirin, 11.7 çirke ji bo LLVM lld, û tenê 2.2 çirk ji bo Mold (26 carî zûtir ji GNU zêr) . Dema ku Clang 13 (3.18 GB) girêdide, zêrê GNU 64 saniye digire, LLVM lld 5.8 çirke, û Mold 2.9 saniye digire. Dema ku Firefox 89 (1.64 GB) girêdide, zêrê GNU 32.9 saniye digire, LLVM lld 6.8 ​​çirke, û Mold 1.4 saniye digire.

Yekem serbestberdana stabîl a çêkerê Mold ku ji hêla LLVM lld ve hatî pêşve xistin

Kêmkirina dema girêdanê dikare karanîna pêşkeftina projeyên mezin bi kêmkirina bendê di pêvajoya hilberîna pelên darvekirinê de di dema debugkirin û ceribandina guhertinan de pir çêtir bike. Mold ji acizbûna ku li benda bidawîbûna girêdanê piştî her guheztina kodê bû, û her weha performansa nebaş a girêdanên heyî yên li ser pergalên pir-bingehîn, û xwesteka ceribandina mîmariya girêdanek bingehîn a cihêreng bêyî ku nehewce biceribîne. modelên tevlihev, wek girêdana zêde.

Performansa bilind a girêdana pelek îcrakar ji hejmareke mezin pelên tiştên ku ji hêla berhevkerê ve di Mold de hatine amadekirin bi karanîna algorîtmayên bileztir, bi aktîvî paralelkirina operasyonên di navbera navokên CPU yên berdest, û karanîna strukturên daneyê yên bikêrhatî de tê bidestxistin. Mînakî, Mold teknîka pêkanîna hesabên zexm bi hevdemî bi kopîkirina pelan re, pêşdîtina pelên tiştan di nav bîranînê de, karanîna tabloyên haş ên bilez dema çareserkirina karakteran, şopandina tabloyên veguheztinê di mijarek cihêreng de, û jêbirina beşên hevgirtî yên ku di pelên cûda de têne dubare kirin, bicîh tîne.

Source: opennet.ru

Add a comment