Vrystelling van Mould 3.0-skakelaar, ontwikkel deur LLVM lld

Die Mold 3.0-skakelaar is vrygestel en kan gebruik word as 'n vinniger, deursigtige plaasvervanger vir die GNU-skakelaar. Linux-stelsels. Die projek word ontwikkel deur Rui Ueyama, die outeur van die LLVM lld-skakelaar. Mold se belangrikste kenmerk is die uiters hoë skakelspoed, wat die GNU Gold- en LLVM lld-skakelaars aansienlik oortref (skakeling in Mold is slegs half so vinnig soos om bloot lêers met die cp-hulpprogram te kopieer). Die kode is in Rust geskryf en versprei onder die MIT-lisensie.

Die vermindering van skakeltyd verbeter die bruikbaarheid van groot projekte aansienlik deur die wagtyd tydens die generering van uitvoerbare lêers te verminder terwyl veranderinge ontfout en getoets word. Die motivering vir die skep van Mold het ontstaan ​​uit die frustrasie om te wag vir skakeling om te voltooi na elke kodeverandering, die swak werkverrigting van bestaande skakelaars op multikernstelsels, en die begeerte om 'n fundamenteel ander skakelargitektuur te probeer sonder om terug te val op oordrewe komplekse modelle soos inkrementele skakeling.

Mold behaal hoë werkverrigting in die samestelling van uitvoerbare lêers uit 'n groot aantal kompilator-voorbereide objeklêers deur vinniger algoritmes te gebruik, bewerkings aktief oor beskikbare SVE-kerne te paralleliseer, en meer doeltreffende datastrukture te gebruik. Mold implementeer byvoorbeeld 'n tegniek om intensiewe berekeninge gelyktydig met lêerkopiëring uit te voer, objeklêers vooraf in geheue te laai, vinnige hash-tabelle vir simboolresolusie te gebruik, hervestigingstabelle in 'n aparte draad te skandeer, en duplikaat saamgevoegde afdelings oor verskillende lêers te deduplikeer.

Die Mold 3.0-tak is opmerklik vir die herskryf van die kodebasis van C++ (C++20) na Rust. Mold 3.0 kan gebruik word as 'n deursigtige plaasvervanger vir Mold 2.42.1, die laaste C++-vrystelling, en ondersteun alle voorheen beskikbare opsies en teikenargitekture. Die oorgang na Rust het dit moontlik gemaak om die projek te beskerm teen potensiële probleme wanneer korrupte objeklêers hanteer word—in situasies waar die C++-weergawe weens toegang buite perke vasgeval het, stop die Rust-implementering by die perkekontrole-stadium. Die werkverrigting van die Rust-implementering is gelykstaande aan die C++-weergawe.

Benewens die migrasie na Rust, was 'n sleuteldoelwit in die ontwikkeling van die 3.0-tak om die versoenbaarheid met GNU ld te verbeter en die projek voor te berei vir gebruik as die standaardskakelaar in verspreidings. LinuxDie boustelsel is vervang met Cargo, en die toetsstelsel is vervang met cargo test, wat ctest vervang. Die oneTBB-biblioteek is uit afhanklikhede verwyder.

Bron: opennet.ru

Koop betroubare hosting vir werwe met DDoS-beskerming, VPS VDS-bedieners 🔥 Koop betroubare webwerfhosting met DDoS-beskerming, VPS VDS-bedieners | ProHoster