Thawj qhov ruaj khov tso tawm ntawm Mould builder tsim los ntawm LLVM lld

Rui Ueyama, tus sau ntawm LLVM lld linker thiab chibicc compiler, tau nthuav tawm thawj qhov kev tso tawm ruaj khov ntawm Mould linker tshiab, uas tau pom sai dua li GNU kub thiab LLVM lld linkers hauv kev nrawm ntawm kev sib txuas cov khoom siv. Lub phiaj xwm tau txiav txim siab npaj rau kev siv ntau lawm thiab tuaj yeem siv tau sai dua, pob tshab hloov pauv rau GNU txuas ntawm Linux systems. Cov phiaj xwm rau qhov kev tso tawm loj tom ntej no suav nrog kev ua tiav kev txhawb nqa rau macOS platform, tom qab ntawd kev ua haujlwm yuav pib hloov Pwm rau Windows.

Pwm sau rau hauv C ++ (C ++ 20) thiab muaj ntawv tso cai raws li AGPLv3, uas yog sib xws nrog GPLv3, tab sis tsis sib xws nrog GPLv2, vim nws yuav tsum qhib kev hloov pauv thaum tsim cov kev pabcuam network. Qhov kev xaiv no tau piav qhia los ntawm kev xav kom tau txais kev txhim kho nyiaj txiag - tus sau tau txaus siab muag cov cai rau cov cai rau kev tso cai raws li daim ntawv tso cai, xws li MIT, lossis muab daim ntawv tso cai ua lag luam cais rau cov neeg uas tsis txaus siab rau AGPL.

Pwm txhawb nqa tag nrho cov yam ntxwv ntawm GNU linker thiab muaj kev ua tau zoo heev - kev sib txuas ua tiav ntawm qhov nrawm tsuas yog ib nrab kom nrawm li tsuas yog luam cov ntaub ntawv nrog cp utility. Piv txwv li, thaum tsim Chrome 96 (code loj 1.89 GB), nws yuav siv sij hawm 8 vib nas this los txuas cov ntaub ntawv executable nrog debuginfo ntawm lub computer 53-core siv GNU kub, LLVM lld - 11.7 vib nas this, thiab Pwm tsuas yog 2.2 vib nas this (26 zaug sai dua. GNU kub). Thaum txuas Clang 13 (3.18 GB), nws yuav siv sijhawm 64 vib nas this hauv GNU kub, 5.8 vib nas this hauv LLVM lld, thiab 2.9 vib nas this hauv Pwm. Thaum tsim Firefox 89 (1.64 GB), nws siv sijhawm 32.9 vib nas this hauv GNU kub, 6.8 vib nas this hauv LLVM lld, thiab 1.4 vib nas this hauv Pwm.

Thawj qhov ruaj khov tso tawm ntawm Mould builder tsim los ntawm LLVM lld

Txo kev tsim lub sijhawm tuaj yeem txhim kho qhov yooj yim ntawm kev tsim cov phiaj xwm loj los ntawm kev txo qhov tos hauv cov txheej txheem ntawm kev tsim cov ntaub ntawv ua tiav thaum debugging thiab sim hloov pauv. Qhov kev txhawb siab rau kev tsim Mould yog qhov kev ntxhov siab uas yuav tsum tau tos kom sib txuas kom tiav tom qab txhua qhov kev hloov pauv, kev ua haujlwm tsis zoo ntawm cov neeg txuas uas twb muaj lawm ntawm ntau lub tshuab, thiab lub siab xav sim ib qho kev sib txawv ntawm cov qauv sib txuas yam tsis siv cov qauv nyuaj heev xws li. raws li incremental linking.

Kev ua tau zoo ntawm kev sib txuas cov ntaub ntawv ua tau zoo los ntawm ntau cov ntaub ntawv uas tau npaj los ntawm cov khoom siv hauv Pwm yog ua tiav los ntawm kev siv cov txheej txheem nrawm dua, kev ua haujlwm sib luag ntawm kev ua haujlwm ntawm cov CPU cores thiab kev siv cov ntaub ntawv zoo dua. Piv txwv li, Pwm siv cov txheej txheem los ua cov kev suav hnyav thaum luam cov ntaub ntawv, ua ntej cov khoom thauj khoom rau hauv lub cim xeeb, siv cov lus hash ceev rau kev daws teeb meem, luam theej duab cov lus hloov chaw nyob rau hauv ib qho xov, thiab deduplicating merged seem uas tau rov qab hla cov ntaub ntawv sib txawv.

Tau qhov twg los: opennet.ru

Ntxiv ib saib