LLVM, tworzący infrastrukturę do kompilacji kodu, wyszedł właśnie w wersji 2.6, której najmocniejszym punktem jest Clang — samodzielny kompilator C, Objective-C i C++ — wreszcie w stadium produkcyjnym, a nie tylko testowym!

LLVM (Low Level Virtual Machine) nie trzeba przedstawiać — to dynamicznie rozwijający się projekt na licencji BSD, który zaczyna skutecznie konkurować z GCC. Wraz z wydaniem produkcyjnego kompilatora C i Objective-C konkurencja ta staje się naprawdę ciekawa; jeszcze tylko obsługa C++ w Clang 1.0 zostaje z tyłu, ale zapewne nie na długo. Autorzy chwalą się, że Objective-C kompiluje się 3 razy szybciej niż pod GCC, a kod w C około 30% szybciej niż pod GCC z opcjami -O0 -g.

LLVM 2.6 zawiera też inne podprojekty, m.in. DragonEgg, które zastępuje procesy optymalizacji i generowania kodu GCC przez własne mechanizmy LLVM. DragonEgg jest więc po prostu wtyczką wykorzystującą GCC jako wstępny etap obróbki kodu przed właściwą kompilacją przez LLVM, zgodnie zresztą z nazwą (”smocze jajo” to kukułcze jajo podrzucane GCC przez smoka, będącego symbolem LLVM). Obecnie obsługuje dobrze tylko C i Fortrana (Adę i C++ już nie tak dobrze, a kilka innych języków w niewiadomym stopniu) na platformy x86 pod Linuksem i Darwinem. Wymaga łatki na niewydane jeszcze GCC 4.5.

Pozostałe podprojekty, znajdujące się na różnym etapie rozwoju, to llvm-mc (Machine Code Toolkit, który ma umożliwić napisanie samodzielnego debuggera), KLEE (Symbolic Execution and Automatic Test Case Generator, narzędzie do generowania testów kodu), compiler-rt (Compiler Runtime Library, biblioteka pozwalająca na używanie wydajnych niskopoziomowych implementacji funkcji), ulepszony Clang Static Analyzer oraz VMKit (implementacja maszyn wirtualnych JVM/CLI).

Samo LLVM w wersji 2.6 ma także eksperymentalną obsługę nowych architektur (MSP430, SystemZ i BlackFin) oraz porcję optymalizacji i innych możliwości (np. przeźroczysta optymalizacja w trakcie konsolidacji czy obsługa wielowątkowości).

Doskonałym uzupełnieniem dla zainteresowanych nowym wydaniem są materiały ze zorganizowanego na początku tego miesiąca LLVM Developers’ Meeting.

Wiadomość pochodzi z portalu OSnews.pl

Popularity: 1%

Sprawdź Także Następujące Wpisy:

Najaktywniejsze Wpisy: