Eerste stabiele vrystelling van die Mould-bouer wat deur LLVM lld ontwikkel is

Rui Ueyama, outeur van die LLVM lld-skakelaar en die chibicc-samesteller, het die eerste stabiele weergawe van die nuwe hoëprestasie-skakelaar, Mold, vrygestel, wat die GNU Gold- en LLVM lld-skakelaars aansienlik oortref in objeklêerskakelspoed. Die projek word as gereed vir produksie-ontplooiing beskou en kan as 'n vinniger, deursigtige plaasvervanger vir die GNU-skakelaar gebruik word. Linux-stelsels. Planne vir die volgende groot vrystelling sluit in om platformondersteuning tot volwassenheid te bring. macOS, waarna werk sal begin met die aanpassing van Mold vir Windows.

Vorm is geskryf in C++ (C++20) en versprei onder die AGPLv3-lisensie, wat aan GPLv3 voldoen, maar nie aan GPLv2 voldoen nie, aangesien dit vereis dat veranderinge oopgemaak word wanneer netwerkdienste ontwikkel word. Hierdie keuse is te danke aan die begeerte om ontwikkelingsbefondsing te bekom - die skrywer is bereid om die regte op die kode vir herlisensiëring onder 'n permissiewe lisensie, soos MIT, te verkoop of 'n aparte kommersiële lisensie te verskaf vir diegene wat nie tevrede is met die AGPL nie.

Mould ondersteun al die kenmerke van die GNU-skakelaar en is baie vinnig - skakeling is net twee keer so vinnig as om net lêers met cp te kopieer. Byvoorbeeld, wanneer jy Chrome 96 (kodegrootte 1.89 GB) bou, neem dit 8 sekondes om c debuginfo-uitvoerbare programme op 'n 53-kern rekenaar te bou met GNU gold, 11.7 sekondes vir LLVM lld, en slegs 2.2 sekondes vir Mould (26 keer vinniger as GNU goud). Wanneer Clang 13 (3.18 GB) gekoppel word, neem GNU goud 64 sekondes, LLVM lld neem 5.8 sekondes en Mould neem 2.9 sekondes. Wanneer Firefox 89 (1.64 GB) gekoppel word, neem GNU gold 32.9 sekondes, LLVM lld neem 6.8 sekondes en Mould neem 1.4 sekondes.

Eerste stabiele vrystelling van die Mould-bouer wat deur LLVM lld ontwikkel is

Die vermindering van skakeltyd kan die bruikbaarheid van die ontwikkeling van groot projekte aansienlik verbeter deur die wag te verminder in die proses om uitvoerbare lêers te genereer tydens ontfouting en toetsveranderings. Mould is gemotiveer deur die irritasie om te moet wag vir die skakel om te voltooi na elke verandering aan die kode, sowel as die swak werkverrigting van bestaande skakelaars op multi-kern stelsels, en die begeerte om 'n fundamenteel ander skakel argitektuur te probeer sonder om onnodig toevlug tot ingewikkelde modelle, soos inkrementele koppeling.

Die hoë werkverrigting om 'n uitvoerbare lêer te koppel vanaf 'n groot aantal objeklêers wat deur die samesteller in Mould voorberei is, word bereik deur vinniger algoritmes te gebruik, aktief bewerkings tussen beskikbare SVE-kerns te paralleliseer en meer doeltreffende datastrukture te gebruik. Byvoorbeeld, Mould implementeer die tegniek om intensiewe berekeninge gelyktydig uit te voer met die kopiëring van lêers, die voorafhaal van objeklêers in die geheue, die gebruik van vinnige hash-tabelle wanneer karakters opgelos word, hervestigingstabelle in 'n aparte draad te skandeer en saamgevoegde afdelings wat in verskillende lêers herhaal word, te dedupliseer.

Bron: opennet.ru

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