Mold 1.1 jau ir izlaists, uzziniet jaunumus par šo moderno Linker, kas ir pārāks par GNU zeltu un LLVM

Pirms vairākām dienām tika paziņots par modernās Linker Mold 1.1 jaunās versijas izlaišanu, ko var izmantot kā ātrāku caurspīdīgu GNU linkera aizstājēju Linux sistēmās.

Šajā jaunajā pelējuma 1.1 versijā ir versija, kas satur jaunas funkcijas, kļūdu labojumus un veiktspējas uzlabojumus.

Par pelējumu

Pelējums atbalsta visas GNU linkera funkcijas un tam ir ļoti augsta veiktspēja, jo tajā izveidotās saites ir tikai divas reizes ātrākas nekā failu kopēšana ar cp utilītu.

Tādā veidā kompilācijas laika samazināšana būtiski uzlabo lielu projektu izstrādes ērtības samazinot gaidīšanas laiku izpildāmā ģenerēšanas procesā, veicot atkļūdošanas un testēšanas izmaiņas.

Motivācija Mold izveidei bija apgrūtinājums, ka pēc katras koda maiņas bija jāgaida, līdz tiks pabeigta saite, kā arī esošo linkeru zemā efektivitāte daudzkodolu sistēmās un vēlme pārbaudīt principiāli atšķirīgu saišu arhitektūru, neizmantojot nevajadzīgi sarežģītus modeļus, piemēram, inkrementālo saistīšanu.

Augsta veiktspēja, saistot izpildāmo failu no liela skaita kompilatora sagatavotu objektu failu Mold, tiek panākta, izmantojot ātrākus algoritmus, aktīvu darbību paralēlizēšanu starp pieejamajiem CPU kodoliem un efektīvāku datu struktūru izmantošanu.

Piemēram Mold ievieš paņēmienu, lai vienlaikus veiktu intensīvus aprēķinus ar failu kopēšanu, objektu failu proaktīvu ielādi atmiņā, ātro jaucējtabulu izmantošanu rakstzīmju atrisināšanai, pārvietošanas tabulu skenēšana atsevišķā straumē un sadaļu dublēšana kas atkārtojas dažādos failos.

Galvenie Mold jauninājumi 1.1

Šajā jaunajā Mold 1.1 versijā, kas tiek prezentēta, ir uzsvērts, ka atbalsts saites stadijas optimizācijai (LTO, Link Time Optimization).

LTO optimizācijas atšķiras, ņemot vērā visu veidošanas procesā iesaistīto failu stāvokli, savukārt tradicionālie optimizācijas režīmi optimizē katru failu atsevišķi un neņem vērā citos failos definētos funkciju izsaukšanas nosacījumus.

Iepriekš, kad tika sastapti GCC vai LLVM starpkoda (IR) faili, tika izsaukti atbilstošie ld.bfd vai ld.lld linkeri, taču tagad Mold pats apstrādā IR failus un izmanto Linker spraudņa API, ko izmanto arī GNU ld un GNU zelta saites. Ātrums, kad LTO ir iespējots, ir tikai nedaudz ātrāks nekā citiem linkeriem, jo ​​lielākā daļa laika tiek pavadīta koda optimizēšanai, nevis saistīšanai.

Tas ir arī izcelts pievienotas opcijas “–print-dependencies” un “–print-dependencies=full” pLai ģenerētu informāciju par atkarībām CSV formātā starp ievades failiem, ko, piemēram, var izmantot, lai analizētu savienojuma iemeslus, saistot noteiktus objektu failus vai strādājot, lai samazinātu atkarību starp failiem.

Vēl viena izmaiņa, kas izceļas no jaunā versija, ir tā, ka atbalsts RISC-V arhitektūrai (RV64) resursdatora un mērķa platformās.

Papildus tam mēs varam arī to atrast pievienota opcija “–emit-relocs”, lai iespējotu adrešu pārvietošanas sadaļu kopēšanu no ievades failiem līdz galīgajiem failiem turpmākai optimizācijai, kas tiks piemērota pēcsaites posmā.

Starp pārējām izmaiņām, kas izceļas:

  • Pievienota opcija “–shuffle-sections”, lai nejauši sakārtotu sadaļu secību pirms to adrešu fiksēšanas virtuālajā adrešu telpā.
  • Pievienotas opcijas “–warn-one” un “–warn-textrel”.
  • Noņemta atkarība no libxxhash.

Beidzot ja jūs interesē uzzināt vairāk par to, sīkāku informāciju varat pārbaudīt šī saite.

Kā uzstādīt veidni?

Tiem, kurus interesē iespēja strādāt ar Mold, viņi var iegūt utilītu, lejupielādējot un apkopojot avota kodu. Lai to izdarītu, vienkārši atveriet termināli un ierakstiet šo:

git clone https://github.com/rui314/mold.git
cd mold
git checkout v1.1.1
make -j$(nproc) CXX=clang++
sudo make install

Lai uzzinātu par Mold lietošanu, varat iepazīties ar dokumentāciju šajā saitē.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.