GCJ

GCJ — вільний компілятор для Java, розроблений в рамках проекту GNU Compiler Collection (GCC).

GCJ може компілювати вихідний код Java в байткод віртуальної машини Java, або безпосередньо в машинний код багатьох процесорних архітектур. Він також може компілювати файли класів, що містять байткод, або цілі JAR, що містять такі файли, в машинний код.

Більшість бібліотек часу виконання, що використовуються в GCJ, взято з проекту GNU Classpath. Станом на GCJ 4.3, GCJ інтегрується ecj, Java-компілятором Eclipse.[2]

Станом на 2007 рік багато роботи пішло на підтримку в GNU Classpath двох графічних Java API: AWT та Swing. Робота з підтримки AWT триває, після чого піде підтримка Swing[3].

Станом на 2009 рік нові зміни в GCJ майже зупинені[4]. Продукт в даний час знаходиться в режимі обслуговування.

Продуктивність

Java-код, скомпільований в машинний код за допомогою GCJ, повинен мати більш швидкий час запуску, ніж еквівалентний байт-код, запущений в JVM[5].

Однак, після запуску Java-код, скомпільований GCJ, не обов'язково буде виконуватися швидше, ніж байт-код, що виконується сучасної JVM з увімкненим JIT. Це справедливо навіть тоді, коли GCJ викликається з просунутими опціями оптимізації, такими як -fno-bounds-check -O3 -mfpmath=sse -msse2 -ffast-math -march=native. Чи зможе скомпільована програма перевершити по продуктивності JVM чи ні, залежить від конкретних операцій, які виконуються кодом[6].

Програми, що використовують GNU Compiler для Java

  • Pdftk


Див. також

  • Портал «Вільне програмне забезпечення»


Примітки

  1. https://gcc.gnu.org/wiki/GCJ
  2. gcj to use Eclipse compiler as a front end. 8 січня 2007. Архів оригіналу за 2 травня 2012. Процитовано 20 травня 2007.
  3. The GCJ FAQ — GNU Project — Free Software Foundation (FSF). Архів оригіналу за 15 січня 2016. Процитовано 26 грудня 2015.
  4. GCJ: News. Архів оригіналу за 18 квітня 2008. Процитовано 26 січня 2008.
  5. GCJ: The GNU Static Java Compiler (PDF). Архів оригіналу (PDF) за 7 червня 2011. Процитовано 26 грудня 2015.
  6. GCJ vs Java JIT Performance Comparison. Архів оригіналу за 25 лютого 2017. Процитовано 26 грудня 2015.
Програмне забезпечення Це незавершена стаття про програмне забезпечення.
Ви можете допомогти проєкту, виправивши або дописавши її.

Посилання

  • Офіційний сайт
  • GCJ Manual
  • About CNI section of GCJ Manual
  • GCJ Frequently Asked Questions [Архівовано 15 січня 2016 у Wayback Machine.]
  • LWN: GCJ — past, present, and future [Архівовано 26 грудня 2015 у Wayback Machine.] — the article discuss some history of GCJ.