Versi 9.1 baru dari compiler GCC telah dirilis

gcc-kompiler-9.1

Kompilator GCC versi baru ini tersedia beberapa hari yang lalu dengan fitur baru dan perbaikan bug.

Menurut tim proyek GNU GCC, versi baru ini, versi 9.1 adalah versi kompiler utama Berisi fitur penting baru yang tidak tersedia di GCC 8.x atau versi sebelumnya. GCC 9.1 harus menghadirkan fitur bahasa baru, pengoptimalan baru dan beberapa peningkatan kinerja pada perangkat lunak.

Tentang GCC

GCC adalah kumpulan kompiler dibuat oleh proyek GNU. Ini lebih tepatnya perangkat lunak bebas mampu menyusun berbagai bahasa pemrograman, termasuk C, C ++, Objective-C, Java, Ada, dan Fortran.

Perlu juga diperhatikan hal itu digunakan untuk pengembangan sebagian besar perangkat lunak gratis. Rilis kompiler utama terbaru tanggal kembali ke Mei 2018, versi 8.1.

Jakub Jelinek, pengembang Red Hat, menjelaskan bahwa GCC 8.1 merupakan rilis utama yang menghadirkan fitur-fitur baru yang penting yang tidak tersedia di GCC 7.x dan versi GCC sebelumnya.

Pada titik ini, front-end C ++ telah memberikan dukungan eksperimental untuk beberapa fungsi C ++ 2a dengan opsi -std = c ++ 2a dan -std = gnu ++ 2a.

Dalam versi 8.2 di tingkat peningkatan umum, masalah kinerja LTO (pengoptimalan waktu tautan) karena luapan dalam algoritme partisi selama pembuatan file biner besar telah diperbaiki.

Perbaikan berlanjut di cabang 8.x dengan rilis kompiler versi 8.3 Februari lalu. Rilis ini adalah rilis perbaikan bug yang berisi patch untuk regresi di GCC 8.2 dibandingkan dengan versi GCC sebelumnya. Tim GCC meluncurkan cabang baru pada 3 Mei, merilis versi 9.

Apa yang baru di GCC 9.1?

Dalam versi ini, Dukungan C ++ 17 diperkenalkan sejak compiler versi 8.1 tidak lagi digunakanl. Oleh karena itu, dukungan untuk C ++ 17 sekarang stabil.

Antarmuka C ++ mengimplementasikan seluruh bahasa C ++ 17 dan dukungan untuk pustaka standar C ++ hampir selesai.

El Pustaka front-end dan C ++ juga memiliki banyak fitur lain yang dikodekan dari C ++ 2a. Selain itu, GCC memiliki antarmuka baru untuk bahasa D dan sekarang sebagian mendukung OpenMP 5.0 dan hampir sepenuhnya mengintegrasikan dukungan untuk OpenACC 2.5.

Bagi banyak orang, GCC 9 adalah versi kompilator yang kuat yang menyediakan fitur dan penyempurnaan hebat untuk meningkatkan kinerja pengembang.

Di antara banyak fitur baru di GCC 9.1 adalah:

  • Dukungan untuk dukungan untuk kompilasi kode yang ditulis dengan bahasa pemrograman D;
  • Backend GPU AMD GCN baru telah ditambahkan ke GCC. Implementasinya saat ini terbatas pada kompilasi program single threaded.
  • LRA sekarang diaktifkan secara default untuk target ARC. Ini dapat dikontrol oleh -mlra.
  • Menambahkan dukungan untuk kode gambar dan pernyataan kepadatan indeks dan cabang.
  • Ditambahkan ke GCC adalah penambahan back-end baru yang menargetkan prosesor C-SKY V2.
  • Dukungan Intel MPX telah dihapus.
  • Backend baru telah ditambahkan untuk dukungan prosesor OpenRISC.
  • Dukungan untuk spesifikasi OpenACC 2.5 hampir selesai.
  • Paket "selftest" internal GCC sekarang berfungsi untuk C ++ dan C (dalam versi debug kompiler).
  • Dukungan Fortran di GCC juga telah ditingkatkan. Sekarang menangani asynchronous I / O dan fitur lainnya.
  • Pengoptimalan antar prosedur (OPI), pengoptimalan berbasis profil, pengoptimalan waktu tautan (LTO), serta banyak pengoptimalan lainnya untuk memastikan kualitas kode yang lebih baik.
  • Total waktu pembuatan untuk Firefox 66 dan LibreOffice 6.2.3 pada mesin 8-inti telah berkurang sekitar 5% dibandingkan dengan GCC 8.3. Ukuran file objek LTO berkurang 7%.
  • Waktu sambungan LTO meningkat 11% pada 8 alat berat inti dan berevolusi secara dramatis untuk lingkungan konstruksi yang lebih paralel. Tahap serial pengoptimalan waktu tautan 28% lebih cepat dan menghabiskan 20% lebih sedikit memori. Parallel Stage sekarang mempartisi 128 partisi, bukan 32 dan mengurangi penggunaan memori untuk setiap pengguna sebesar 30%.
  • Opsi baru "-fdiagnostics-format = json" telah diperkenalkan untuk diagnostik dalam format yang dapat dibaca mesin.

sumber: https://gcc.gnu.org


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.