Cetakan 1.1 telah dirilis, ketahui berita tentang Linker modern ini yang lebih unggul dari emas GNU dan LLVM

Beberapa hari lalu rilis versi baru Linker Mold 1.1 modern diumumkan, yang dapat digunakan sebagai pengganti transparan yang lebih cepat untuk penghubung GNU pada sistem Linux.

Dalam versi baru cetakan 1.1 ini adalah versi yang berisi fitur baru, perbaikan bug, dan peningkatan kinerja.

Tentang cetakan

Cetakan mendukung semua fitur tautan GNU dan memiliki kinerja yang sangat tinggi, karena tautan yang dibuatnya hanya dua kali lebih cepat dari sekadar menyalin file dengan utilitas cp.

Dengan cara ini mengurangi waktu kompilasi secara signifikan meningkatkan kenyamanan mengembangkan proyek besar dengan mengurangi waktu tunggu dalam proses pembuatan file yang dapat dieksekusi saat men-debug dan menguji perubahan.

Motivasi untuk membuat Mold adalah gangguan karena harus menunggu tautan selesai setelah setiap perubahan kode, serta rendahnya efisiensi linker yang ada dalam sistem multicore dan keinginan untuk menguji arsitektur link yang berbeda secara fundamental tanpa menggunakan model rumit yang tidak perlu seperti inkremental linking.

Performa tinggi dalam menautkan file yang dapat dieksekusi dari sejumlah besar file objek yang disiapkan oleh kompiler di Mold dicapai melalui penggunaan algoritma yang lebih cepat, paralelisasi operasi yang aktif antara inti CPU yang tersedia, dan penggunaan struktur data yang lebih efisien.

Misalnya Mold menerapkan teknik untuk melakukan perhitungan intensif secara bersamaan dengan penyalinan file, secara proaktif memuat file objek ke dalam memori, menggunakan tabel hash cepat saat menyelesaikan karakter, memindai tabel relokasi dalam aliran terpisah dan menghapus duplikasi bagian yang diulang dalam file yang berbeda.

Hal baru utama dari Mold 1.1

Dalam versi baru dari Cetakan 1.1 yang disajikan, disorot bahwa dukungan untuk pengoptimalan tahap tautan (LTO, Pengoptimalan Waktu Tautan).

Pengoptimalan LTO berbeda dengan mempertimbangkan status semua file yang terlibat dalam proses pembuatan, sementara mode pengoptimalan tradisional mengoptimalkan setiap file satu per satu dan tidak memperhitungkan kondisi pemanggilan fungsi yang ditentukan dalam file lain.

Sebelumnya, ketika file kode perantara (IR) GCC atau LLVM ditemukan, tautan ld.bfd atau ld.lld yang sesuai dipanggil, tetapi sekarang Mold menangani file IR sendiri dan menggunakan API plugin Linker, juga digunakan di GNU ld dan Penghubung emas GNU. Kecepatan saat LTO diaktifkan hanya sedikit lebih cepat daripada tautan lain, karena sebagian besar waktu dihabiskan untuk mengoptimalkan kode, bukan untuk menautkan.

Itu juga disorot itu opsi ditambahkan “–print-dependencies” dan “–print-dependencies=full” pUntuk menghasilkan informasi dalam format CSV tentang dependensi antara file input, yang dapat, misalnya, digunakan untuk menganalisis alasan koneksi saat menautkan file objek tertentu atau saat bekerja untuk meminimalkan ketergantungan antar file.

Perubahan lain yang menonjol dari eversi baru adalah bahwa dukungan untuk arsitektur RISC-V (RV64) pada platform host dan target.

Selain itu, kita juga dapat menemukan itu menambahkan opsi “–emit-relocs” untuk mengaktifkan penyalinan bagian relokasi alamat dari file input hingga file akhir untuk pengoptimalan lebih lanjut yang akan diterapkan pada tahap pasca-tautan.

Dari perubahan lain yang menonjol:

  • Menambahkan opsi “–shuffle-sections” untuk mengacak urutan bagian sebelum memperbaiki alamatnya di ruang alamat virtual.
  • Menambahkan opsi “–warn-once” dan “–warn-textrel”.
  • Ketergantungan yang dihapus pada libxxhash.

Akhirnya jika Anda tertarik untuk mengetahui lebih banyak tentangnya, Anda dapat memeriksa detailnya di link berikut.

Bagaimana cara menginstal Cetakan?

Bagi mereka yang tertarik untuk dapat bekerja dengan Mold, mereka dapat memperoleh utilitas dengan mengunduh dan mengkompilasi kode sumber. Untuk melakukan ini, cukup buka terminal dan ketik berikut ini:

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

Untuk mengetahui penggunaan Mould, Anda dapat berkonsultasi dengan dokumentasi di tautan ini.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.