Fyrsta stöðuga útgáfan af Mold smiðnum þróað af LLVM lld

Rui Ueyama, höfundur LLVM lld tengilsins og chibicc þýðandans, kynnti fyrstu stöðugu útgáfuna af nýja afkastamiklu Mold tengilinn, sem er áberandi á undan GNU gold og LLVM lld tengilunum hvað varðar tengingarhraða hlutskrár. Verkefnið er talið tilbúið til framleiðsludreifingar og hægt er að nota það sem hraðari gagnsæi staðgengill GNU tengilinn á Linux kerfum. Áætlanir fyrir næstu stóru útgáfu fela í sér að stuðningur við macOS vettvanginn verði tilbúinn, eftir það mun vinna við aðlögun Mold fyrir Windows hefjast.

Mould er skrifað í C++ (C++20) og dreift undir AGPLv3 leyfinu, sem er GPLv3 samhæft en ekki GPLv2 samhæft, þar sem það krefst þess að breytingar séu opnaðar við þróun netþjónustu. Þetta val er vegna löngunar til að fá þróunarstyrk - höfundur er reiðubúinn að selja réttindin á kóðanum til endurleyfis samkvæmt leyfilegu leyfi, svo sem MIT, eða veita sérstakt viðskiptaleyfi fyrir þá sem eru ekki ánægðir með AGPL.

Mould styður alla eiginleika GNU tengilsins og er mjög hröð - tenging er aðeins tvöfalt hraðari en að afrita skrár með cp. Til dæmis, þegar Chrome 96 (kóðastærð 1.89 GB) er smíðað, tekur það 8 sekúndur að smíða c debuginfo executables á 53 kjarna tölvu með GNU gold, 11.7 sekúndur fyrir LLVM lld og aðeins 2.2 sekúndur fyrir Mold (26 sinnum hraðar en GNU gull). Þegar Clang 13 (3.18 GB) er tengt, tekur GNU gold 64 sekúndur, LLVM lld tekur 5.8 sekúndur og Mold tekur 2.9 sekúndur. Þegar Firefox 89 (1.64 GB) er tengt, tekur GNU gold 32.9 sekúndur, LLVM lld tekur 6.8 sekúndur og mold tekur 1.4 sekúndur.

Fyrsta stöðuga útgáfan af Mold smiðnum þróað af LLVM lld

Að draga úr tengingartíma getur bætt nothæfi stórra verkefna til muna með því að draga úr biðinni í því ferli að búa til keyranlegar skrár við kembiforrit og prófunarbreytingar. Mygla var hvatinn af pirringi yfir því að þurfa að bíða eftir að tengingu lýkur eftir hverja breytingu á kóðanum, sem og lélegri frammistöðu núverandi tengiliða á fjölkjarna kerfum og lönguninni til að prófa í grundvallaratriðum mismunandi tengingararkitektúr án þess að grípa til óþarfa flókin líkön, svo sem stigvaxandi tengingar.

Mikil afköst við að tengja keyrsluskrá úr miklum fjölda hlutaskráa sem þýðandinn í Mold hefur útbúið er náð með því að nota hraðari reiknirit, virka samhliða aðgerðum milli tiltækra örgjörvakjarna og nota skilvirkari gagnauppbyggingu. Til dæmis útfærir Mould þá tækni að framkvæma ákafa útreikninga samtímis afritun skráa, forsækja hlutaskrár inn í minni, nota hraðvirkar kjötkássatöflur við að leysa stafi, skanna flutningstöflur í sérstökum þræði og afrita sameinaða hluta sem eru endurteknir í mismunandi skrám.

Heimild: opennet.ru

Bæta við athugasemd