Mold 3.0 tengillinn hefur verið gefinn út og er hægt að nota hann sem hraðari og gagnsærri staðgengil fyrir GNU tengillinn. Linux-kerfi. Verkefnið er þróað af Rui Ueyama, höfundi LLVM lld tengilsins. Helsta einkenni Mold er afar mikill tengihraði, sem er mun betri en GNU gold og LLVM lld tenglarnar (tenging í Mold er aðeins helmingi hraðari en að afrita einfaldlega skrár með cp tólinu). Kóðinn er skrifaður í Rust og dreift undir MIT leyfinu.
Að stytta tengitíma bætir verulega notagildi stórra verkefna með því að stytta biðtíma við myndun keyrsluskráa á meðan villuleit og prófanir á breytingum eiga sér stað. Ástæðan fyrir því að búa til Mold stafaði af gremju yfir því að þurfa að bíða eftir að tenging ljúki eftir hverja kóðabreytingu, lélegri frammistöðu núverandi tengla á fjölkjarna kerfum og lönguninni til að prófa grundvallarbreytingu á tengiarkitektúr án þess að grípa til of flókinna líköna eins og stigvaxandi tenginga.
Mold nær mikilli afköstum í að setja saman keyrsluskrár úr fjölda þýðandaútbúinna hlutaskráa með því að nota hraðari reiknirit, virka samsíða aðgerðum yfir tiltæka örgjörvakjarna og nota skilvirkari gagnaskipan. Til dæmis útfærir Mold tækni til að framkvæma ákafar útreikninga samtímis afritun skráa, hlaða hlutskrám fyrirfram inn í minni, nota hraðar kjötkássutöflur fyrir táknupplausn, skanna flutningstöflur í sérstökum þræði og fjarlægja tvítekningar frá sameinuðum hlutum yfir mismunandi skrár.
Mold 3.0 greinin er þekkt fyrir að endurskrifa kóðagrunninn úr C++ (C++20) yfir í Rust. Mold 3.0 er hægt að nota sem gagnsæjan staðgengil fyrir Mold 2.42.1, síðustu C++ útgáfuna, og styður alla fyrri tiltæka valkosti og markarkitektúr. Skiptið yfir í Rust hefur gert það mögulegt að vernda verkefnið fyrir hugsanlegum vandamálum við meðhöndlun skemmdra hlutaskráa - í aðstæðum þar sem C++ útgáfan hrundi vegna aðgangs utan marka, stöðvast Rust útfærslan á markaprófunarstigi. Afköst Rust útfærslunnar eru á pari við C++ útgáfuna.
Auk þess að flytja yfir í Rust var lykilmarkmið við þróun 3.0 greinarinnar að bæta eindrægni við GNU ld og undirbúa verkefnið til notkunar sem sjálfgefinn tengill í dreifingum. LinuxByggingarkerfið hefur verið skipt út fyrir Cargo og prófunarkerfið hefur verið skipt út fyrir Cargo test, sem kemur í stað ctest. oneTBB bókasafnið hefur verið fjarlægt úr ósjálfstæðum kerfum.
Heimild: opennet.ru
