Premye lage ki estab nan builder Mould devlope pa LLVM lld

Rui Ueyama, otè LLVM lld linker ak konpilateur chibicc la, te prezante premye lage ki estab nan nouvo linker Mould pèfòmans segondè, ki se konsiderableman pi vit pase GNU lò ak LLVM lld linkers nan vitès la nan ki lye dosye objè. Pwojè a konsidere kòm pare pou aplikasyon pwodiksyon epi yo ka itilize kòm yon ranplasman pi vit, transparan pou GNU Linker sou sistèm Linux. Plan pou pwochen gwo lage a gen ladan konplete sipò pou platfòm macOS la, apre sa pral kòmanse travay sou adapte Mold pou Windows.

Mwazi ekri nan C++ (C++20) epi li gen lisans anba AGPLv3, ki konpatib ak GPLv3, men li pa konpatib ak GPLv2, paske li mande chanjman ouvè lè w ap devlope sèvis rezo yo. Chwa sa a eksplike pa dezi a jwenn finansman devlopman - otè a vle vann dwa yo nan kòd la pou relisans anba yon lisans toleran, tankou MIT, oswa bay yon lisans komèsyal separe pou moun ki pa satisfè ak AGPL la.

Mould sipòte tout karakteristik GNU Linker la epi li gen pèfòmans trè wo - lyen yo fèt ak yon vitès sèlman mwatye vit ke senpleman kopye dosye ak sèvis piblik la cp. Pa egzanp, lè w ap bati Chrome 96 (gwosè kòd 1.89 GB), li pran 8 segonn pou konekte fichye ègzèkutabl ak enfòmasyon debug sou yon òdinatè 53 nwayo lè l sèvi avèk GNU lò, LLVM lld - 11.7 segonn, ak Mould sèlman 2.2 segonn (26 fwa pi vit pase GNU lò). Lè w konekte Clang 13 (3.18 GB), li pran 64 segonn nan GNU lò, 5.8 segonn nan LLVM lld, ak 2.9 segonn nan Mould. Lè w ap konstwi Firefox 89 (1.64 GB), li pran 32.9 segonn nan GNU lò, 6.8 segonn nan LLVM lld, ak 1.4 segonn nan Mould.

Premye lage ki estab nan builder Mould devlope pa LLVM lld

Diminye tan konstriksyon ka siyifikativman amelyore konvenyans nan devlope gwo pwojè lè w diminye datant nan pwosesis pou jenere dosye ègzèkutabl lè debogaj ak tès chanjman. Motivasyon pou kreye Mould se te fristrasyon nan oblije rete tann pou lyen yo fini apre chak chanjman kòd, pèfòmans nan pòv linkers ki egziste deja sou sistèm milti-nwayo, ak dezi a eseye yon achitekti lyezon fondamantalman diferan san yo pa itilize modèl twò konplike tankou. kòm lyezon incrémentielle.

Pèfòmans segondè nan lyen yon dosye ègzèkutabl ki soti nan yon gwo kantite fichye objè konpilatè-prepare nan Mould reyalize lè l sèvi avèk algoritm pi vit, paralelizasyon aktif nan operasyon ant nwayo CPU ki disponib ak itilizasyon estrikti done ki pi efikas. Pou egzanp, Mould aplike teknik pou fè kalkil entansif pandan y ap kopye fichye yo, pre-chaje fichye objè yo nan memwa, lè l sèvi avèk tab rapid rapid pou rezolisyon karaktè, analize tab demenajman nan yon fil separe, ak deduplication seksyon fizyone ki repete atravè diferan dosye.

Sous: opennet.ru

Add nouvo kòmantè