Mold 1.1 parantos dileupaskeun, terang warta Linker modern ieu punjul ti emas GNU sareng LLVM

Sababaraha dinten ka pengker sékrési versi anyar tina Linker Mould 1.1 modern diumumkeun, nu bisa dipaké salaku gaganti transparan gancang pikeun linker GNU dina sistem Linux Ubuntu.

Dina versi anyar ieu kapang 1.1 versi anu ngandung fitur anyar, perbaikan bug, sareng perbaikan kinerja.

Ngeunaan kapang

kapang ngarojong sagala fitur tina linker GNU sarta ngabogaan kinerja kacida luhurna, saprak Tumbu eta ngan dua kali laun ti saukur nyalin file kalawan utilitas cp.

Ku cara kieu teh ngurangan waktu kompilasi nyata ngaronjatkeun genah tina ngamekarkeun proyék badag ku cara ngurangan waktu antosan dina prosés generasi file laksana nalika debugging sarta nguji parobahan.

Motivasi pikeun nyiptakeun Mould nyaéta ngaganggu kedah ngantosan tautan réngsé saatos unggal parobihan kode, kitu ogé efisiensi low tina linkers aya dina sistem multicore jeung kahayang pikeun nguji arsitektur link fundamentally béda tanpa resorting kana model unnecessarily pajeulit kayaning linking Incremental.

Kinerja luhur linking hiji file laksana tina sajumlah badag file obyék compiler-disiapkeun dina kapang kahontal ngaliwatan pamakéan algoritma gancang, parallelization aktif operasi antara cores CPU sadia, sarta pamakéan struktur data leuwih efisien.

Contona, Kapang nerapkeun téknik pikeun ngalakukeun itungan intensif sakaligus kalayan nyalin file, sacara proaktif ngamuat file obyék kana mémori, nganggo tabel hash gancang nalika ngabéréskeun karakter, nyeken tabel relokasi dina aliran misah jeung bagian dedulicating nu diulang dina file béda.

Novelties utama Mold 1.1

Dina versi anyar ieu kapang 1.1 anu dibere, disorot yén rojongan pikeun optimasi tahap link (LTO, Link Time Optimasi).

LTO optimizations béda ku cara nyokot kana akun kaayaan sadaya file aub dina prosés ngawangun, bari mode optimasi tradisional ngaoptimalkeun unggal file individual tur teu tumut kana akun kaayaan keur nelepon fungsi didefinisikeun dina file séjén.

Saméméhna, nalika GCC atanapi LLVM panganteur kode (IR) file anu encountered, ld.bfd atanapi ld.lld linkers luyu anu invoked, tapi ayeuna kapang handles file IR sorangan sarta ngagunakeun Linker plugin API, ogé dipaké dina GNU ld jeung panyambung emas GNU. Laju nalika LTO diaktipkeun ngan ukur langkung gancang tibatan panyambung anu sanés, sabab kalolobaan waktos diséépkeun pikeun ngaoptimalkeun kode, sanés ngaitkeun.

Éta ogé disorot éta pilihan ditambahkeun "–print-dependencies" sareng "–print-dependencies = pinuh" pPikeun ngahasilkeun inpormasi dina format CSV ngeunaan kagumantungan antara file input, nu bisa, contona, dipaké pikeun nganalisis alesan sambungan nalika linking file objék nu tangtu atawa bari digawé pikeun ngaleutikan kagumantungan antara file.

Parobahan sejen anu nangtung kaluar ti eversion anyar nyaéta yén rojongan pikeun arsitéktur RISC-V (RV64) dina platform host sareng target.

Sajaba ti éta, urang ogé bisa manggihan éta Ditambahkeun pilihan "–emit-relocs" pikeun ngaktifkeun nyalin bagian relokasi alamat ti file input ka file final pikeun optimizations salajengna bisa dilarapkeun dina tahap pos-link.

Tina parobihan sanés anu menonjol:

  • Ditambahkeun pilihan "–shuffle-sections" pikeun ngacak urutan bagian sateuacan ngalereskeun alamatna dina rohangan alamat virtual.
  • Ditambahkeun pilihan "–warn-once" sareng "–warn-textrel".
  • Dipiceun kagumantungan on libxxhash.

tungtungna upami anjeun resep terang langkung seueur perkawis éta, anjeun tiasa mariksa detil na link ieu.

Kumaha carana masang Mould?

Pikeun anu resep tiasa damel sareng Mold, aranjeunna tiasa kéngingkeun utilitas ku cara ngaunduh sareng nyusun kode sumber. Jang ngalampahkeun ieu, kantun buka terminal sareng ketik di handap ieu:

git clone https://github.com/rui314/mold.git
cd mold
git checkout v1.1.1
make -j$(nproc) CXX=clang++
sudo make install

Pikeun terang pamakean Mold, anjeun tiasa konsultasi kana dokuméntasi dina tautan ieu.


Eusi tulisan taat kana prinsip urang tina étika éditorial. Pikeun ngalaporkeun kasalahan klik di dieu.

Janten kahiji komen

Ninggalkeun koméntar anjeun

email alamat anjeun moal diterbitkeun.

*

*

  1. Jawab data: Miguel Ángel Gatón
  2. Tujuan tina data: Kontrol SPAM, manajemén koméntar.
  3. Legitimasi: idin anjeun
  4. Komunikasi data: Data moal dikomunikasikan ka pihak katilu kacuali ku kawajiban hukum.
  5. Panyimpenan data: Basis data anu diayakeun ku Occentus Networks (EU)
  6. Hak: Iraha waé anjeun tiasa ngawatesan, cageur sareng mupus inpormasi anjeun.