Mold 1.1 կապիչի թողարկում, որը մշակվել է LLVM lld-ի կողմից

Հրապարակվել է Mold linker-ի թողարկումը, որը կարող է օգտագործվել որպես GNU linker-ի ավելի արագ և թափանցիկ փոխարինող։ Linux-համակարգեր։ Նախագիծը մշակվում է LLVM lld կապակցիչի հեղինակի կողմից։ Mold-ի հիմնական առանձնահատկությունը օբյեկտային ֆայլերի չափազանց բարձր կապակցման արագությունն է, որը զգալիորեն գերազանցում է GNU gold և LLVM lld կապակցիչներին (Mold-ում կապակցումը cp օգտակար ծրագրով ֆայլերի պարզապես պատճենահանման արագությունից միայն կեսն է)։ Կոդը գրված է C++ (C++20) լեզվով և տարածվում է AGPLv3 լիցենզիայով։

Նոր տարբերակում.

  • Ավելացվել է օպտիմիզացիայի աջակցություն կապի փուլում (LTO, կապի ժամանակի օպտիմիզացիա): LTO օպտիմիզացիաները տարբերվում են հավաքման գործընթացում ներգրավված բոլոր ֆայլերի վիճակը հաշվի առնելով, մինչդեռ ավանդական օպտիմիզացիայի ռեժիմները օպտիմիզացնում են յուրաքանչյուր ֆայլ առանձին և չեն հաշվի առնում այլ ֆայլերում սահմանված ֆունկցիաները կանչելու պայմանները: Եթե նախկինում միջանկյալ կոդով (IR) GCC կամ LLVM ֆայլերը հայտնաբերելիս կանչվում էին համապատասխան ld.bfd կամ ld.lld կապիչները, ապա այժմ Mold-ը IR ֆայլերը մշակում է ինքնուրույն և օգտագործում է Linker Plugin API-ն, որը նույնպես օգտագործվում է GNU ld և GNU gold կապիչներում: LTO-ն միացված արագությամբ արագությունը միայն մի փոքր առաջ է մյուս կապիչների համեմատ, քանի որ ժամանակի մեծ մասը ծախսվում է կոդի օպտիմիզացիայի վրա, այլ ոչ թե կապման վրա:
  • Ավելացվել է RISC-V (RV64) ճարտարապետության աջակցությունը հյուրընկալող և թիրախային հարթակներում։
  • Ավելացվել է «--emit-relocs» տարբերակը՝ տեղափոխման բաժինները մուտքային ֆայլերից ելքային ֆայլեր պատճենելու հնարավորություն տալու համար՝ հետհղման օպտիմալացումների հետագա կիրառման համար։
  • Ավելացվել է «--shuffle-sections» տարբերակը՝ վիրտուալ հասցեների տարածքում բաժինների հասցեները ֆիքսելուց առաջ պատահականորեն դասավորելու համար։
  • Ավելացվել են "--print-dependencies" և "--print-dependencies=full" տարբերակները՝ մուտքային ֆայլերի միջև կախվածության տեղեկատվությունը CSV ձևաչափով արտածելու համար, որոնք կարող են օգտագործվել, օրինակ, կապելիս որոշակի օբյեկտային ֆայլեր ներառելու պատճառները վերլուծելու կամ ֆայլերի միջև կախվածությունները նվազագույնի հասցնելու աշխատանքներ կատարելիս։
  • Ավելացվել են «--warn-once» և «--warn-textrel» տարբերակները։
  • Հեռացված է libxxhash-ից կախվածությունը։

Source: opennet.ru

Գնեք հուսալի հոստինգ DDoS պաշտպանությամբ կայքերի, VPS VDS սերվերների համար 🔥 Գնեք հուսալի կայքերի հոսթինգ՝ DDoS պաշտպանությամբ, VPS VDS սերվերներով | ProHoster