Mold 3.0 komposiitori vÀljaanne, mida arendab LLVM lld arendaja

VĂ€ljaande Mold 3.0, mida saab kasutada kiirema ja lĂ€bipaistvama asendajana GNU linker'ile Linuxi sĂŒsteemides, on nĂŒĂŒd avaldatud. Projekti arendab Rui Ueyama, LLVM lld linkeri autor. Moldi peamine omadus on vĂ€ga kĂ”rge objekti failide sidumise kiirus, mis ĂŒletab oluliselt GNU gold ja LLVM lld linkereid (sidumine Moldis toimub kiirusel, mis on vaid kaks korda aeglasem kui lihtne failide kopeerimine utiliidiga cp). Kood on kirjutatud Rusti keeles ja jagatakse MIT litsentsi alusel.

Komponeerimise aega vĂ€hendavad meetodid vĂ”imaldavad mĂ€rkimisvÀÀrselt parandada suuremate projektide arenduse mugavust, vĂ€hendades ootamist tĂ€idetavate failide genereerimise protsessis, kui tehakse koodimuutusi ja testitakse. Moldi loomise motiiviks oli Ă€rritus igakordse komponeerimise lĂ”petamist ootamisest pĂ€rast iga koodimuutust, samuti olemasolevate komponeerijate madal efektiivsus palju tuumadega sĂŒsteemides ning soov proovida pĂ”hjalikult erinevat sidumise arhitektuuri, vĂ€ltides samal ajal liiga keeruliste mudelite, nagu inkrementaalne komponeerimine, kasutamist.

Moldis saavutatakse kĂ”rge tĂ€itmisvĂ”ime suurt hulka kompilatori ettevalmistatud objekti faile sisaldava tĂ€idetava faili koostamisel kiiremate algoritmide kasutamise, saadaval olevate CPU tuumade vaheliste toimingute aktiivse paralleelimise ja tĂ”husamate andmestruktuuride rakendamise kaudu. NĂ€iteks on Moldis kasutusele vĂ”etud intensiivsete arvutuste samaaegne tĂ€itmine failide kopeerimisega, objekti failide eellaadimine mĂ€llu, kiirete rippude tabelite kasutamine sĂŒmbolite lahendamiseks, liikumise tabelite skaneerimine eraldi lĂ”imes ning eri failidesse koondatud sektsioonide duplikaatide elimineerimine.

Mold 3.0 harbinger on koodibaasi ĂŒmberkirjutamine C++ (C++20) keelest Rusti keelde. Mold 3.0 saab kasutada transparantse asendusena Mold 2.42.1-le, viimasele vĂ€ljaandele C++ keeles, ning toetab kĂ”iki varem saadaval olnud valikuid ja sihtaarkhitektuure. Üleminek Rustile on vĂ”imaldanud projekti kaitsta potentsiaalsete probleemide eest rikutud objektifailide töötlemisel - olukordades, kus C++ versioon lĂ”petas töö mĂ€lupiiridest vĂ€ljaulatuvate aladega, Rusti versioon lĂ”petab töö piiride kontrollimise etapis. Rusti teostuse jĂ”udlus on vĂ”rreldav C++ versiooniga.

Lisaks Rosti migratsioonile oli peamine eesmĂ€rk versiooni 3.0 arendamisel suurendada ĂŒhilduvust GNU ld-ga ja valmistada projekt ette vĂ”imalusele kasutada seda vaikekompilaatorina Linuxi distributsioonides. Ehitus sĂŒsteem on asendatud CMake’ist Cargo’ga ning testimissĂŒsteem ctest-ist on muudetud cargo test’iks. Ühest sĂ”ltuvusest, oneTBB raamatukogust, on loobutud.

Allikas: opennet.ru

Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster