Страниц: [1]
  Печать  
Автор Тема: LLVM и clang в QNX  (Прочитано 10741 раз)
bbceler
Full Member
***
Offline Offline

Сообщений: 149


Просмотр профиля WWW
« : Января 14, 2010, 02:25:52 am »

В мире компиляторов gcc это не единственный компилятор. Разработки ведутся все время. Есть такие которые считають что появился серезный кандидать на замену gcc.
Это компилятор clang фронтенд для LLVM
LLVM http://llvm.org/ (Low Level Virtual Machine) — это универсальная система анализа, трансформации и оптимизации программ или, как её называют разработчики, «compiler infrastucture». Смотрите тоже на http://habrahabr.ru/blogs/programming/47878/
Я бы не хотел чтобы завелась тепер дискусия за чем нам это и что clang ни в коем случае не заменить gcc тем более в QNX. На сегодня этот компилятор умееть компилировать только программы написанные в c и objc до c++ еще далеко. Но надо одно отьметить у него великолепна система нахождения ошибок и их показывания. Эсть такие каторые использують clang в начале проекта и только на конец все компилирують с помощию gcc
И так ближе к делу. Я сделал изменения в LLVM и clang и теперь можна компилировать эту систему и компилятор в QNX. Бинарный пакет очень болшой и у меня нет места чтобы его выложить (это свыше 400КБ). Я только на моей строничке http://www.ajam.org.pl/ написал как это можна сделать и выложил источники. 
Почему я этим занялься:
1. я интересуюсь такими вопросам
2. до тестирования новых версии gcc 4.5.0 я обычно использую для c++ довольно большие системы. до сих пор это было qt. Но сним все в порядке а вот LLVM и clang это очень болшая система написанная в c++. И до сих пор никакая даже самая последняя версия gcc 4.5.0 поко не можеть довести до коньца компиляцию.
3. я в последние месяцы занялься гораздо глубже языком objc. Это очень нтересный язык который я компилурую каждый раз вместе с адой и фортраном. Но в gcc к сожалении objc не поддержываеть ногого objc2 а clang это делаеть.
4. по всей вероятности GNUstep перейдеть на clang
Эсли у кого то возникнуть какие то вопросы то пишите или в етой теме или прямо ко мне
Записан
bbceler
Full Member
***
Offline Offline

Сообщений: 149


Просмотр профиля WWW
« Ответ #1 : Декабря 31, 2010, 11:45:03 am »

Но как видно никого не интересуеть LLVM в QNX. Но LLVM и clang развиваються очень быстро.
Тепер эсть новая версия LLVM - LLVM 2.8. Она работаеть в QNX. Если найдеться кто то которого это заинтересуеть то выложу на маем сайте.
Записан
bbceler
Full Member
***
Offline Offline

Сообщений: 149


Просмотр профиля WWW
« Ответ #2 : Марта 24, 2011, 11:48:27 pm »

Время течеть. Скоро будеть новая версия LLVM 2.9 и новый комилятор clang.
Я постоянно этим занимаюсь. Без проблем работаеть в QNX.
Хотя то обстановка немножко поменялась. Ребята с gcc взялись за роботу
и теперь в gcc 4.6.0 есть компилятор objc каторый тепер поддерживаеть objc2.
А так интересно что хотья еще нет оффицияльного выпуска gcc 4.6.0 то уже
появилась следующая ветка gcc 4.7.
Записан
AG
QOR.Moderator
*****
Offline Offline

Сообщений: 872



Просмотр профиля WWW
« Ответ #3 : Марта 25, 2011, 10:30:03 am »

Кто нибудь исследовал llvm на предмет real-time характеристик?
Записан

darkelf
QOR.Moderator
*****
Offline Offline

Сообщений: 256


Просмотр профиля
« Ответ #4 : Марта 25, 2011, 03:49:08 pm »

Кто нибудь исследовал llvm на предмет real-time характеристик?
Пока считается, что исполняемые файлы собираемые llvm на процентов 10-30 медленнее, чем бинарные файлы собранные gcc. Довольно старое сравнение: http://www.phoronix.com/scan.php?page=article&item=apple_llvm_gcc&num=1
Записан
bbceler
Full Member
***
Offline Offline

Сообщений: 149


Просмотр профиля WWW
« Ответ #5 : Марта 25, 2011, 06:33:30 pm »

Кто нибудь исследовал llvm на предмет real-time характеристик?
Пока считается, что исполняемые файлы собираемые llvm на процентов 10-30 медленнее, чем бинарные файлы собранные gcc. Довольно старое сравнение: http://www.phoronix.com/scan.php?page=article&item=apple_llvm_gcc&num=1
Da, no eto oczen staryie dannyie. Kartina na samom diele nie prostaia. Wapros kakoj kompilator luczsze kasaietsia nie tolko gcc
a clang. My daze imieem w mirie gcc po krajniej mierie 5 kompilatorow.
A samyj nowyj gcc 4.6.0 katoryj tolko szto dolzen wyjti kazetsia budiet samym lutszym sriedi gcc.
Sleduuszij wopros kasaietsia CPU i iestestwienno kakuiu programmu my kompiluruiem.
Posmatritie na nowoie srawnienie c cajta www.phoronix.com
http://www.phoronix.com/scan.php?page=article&item=llvm_gcc_dragonegg28&num=1
..........................
While the Low-Level Virtual Machine and Clang continue hitting new milestones, such as feature-complete C++ support and separately now being able to now compile the Linux kernel, it is not yet in a position to fully replace the mature GCC stack. Some of our common Linux benchmarks could not even be built under Clang or even GCC when using the in-development DragonEgg plug-in. In other tests, the performance of LLVM/Clang and DragonEgg was worse off, but there were areas where this open-source compiler was able to shine.

LLVM could not outdo GCC when it came to John The Ripper, MAFFT, HMMer, 7-Zip, LAME MP3, GraphicsMagick, and others. Clang/DragonEgg/LLVM-GCC results were favorable over GCC when it came to C-Ray and Himeno (with only the AMD Opteron workstation) and then the faster compilation times. In other instances, the performance of the LLVM-leveraged compilers was just on par with the GNU Compiler Collection for its C/C++ performance. Worth noting from these results were also the performance improvements found with the GCC 4.6 development snapshot we tested, which will be something to look forward to in 2011.

While LLVM/Clang is not yet decisively faster than GCC, it is continuing to make great progress and does boast a different feature-set and focus from the GNU Compiler Collection. The DragonEgg plug-in also shows great potential for speeding-up GCC and as an optimization solution for languages not supported by Clang or other LLVM-based compilers. Going into 2011 we will continue to monitor the compiler performance.
...............................
Na sleduiuszej niedieli budiet nowyj test. Budiet srawniwatsia nowaia wersia LLVM i clang a imienno 2.9 no i konieszno gcc4.6.0
I konieszno oczen interiesno kakie budut rezultaty. No ia smogu ob etom napisat tolko wo wtoroj polowinie apriela tak ka ia uiezzaiu w otpusk. Budu dalieko w Portugali i konieszno biez kompiutera. Tolko okiean .. Smiley
Записан
AG
QOR.Moderator
*****
Offline Offline

Сообщений: 872



Просмотр профиля WWW
« Ответ #6 : Марта 25, 2011, 08:50:26 pm »

Хоршо тебе отдохнуть!
Будем ждать результатов.
Записан

bbceler
Full Member
***
Offline Offline

Сообщений: 149


Просмотр профиля WWW
« Ответ #7 : Июня 25, 2011, 01:48:58 am »

Вообще то на моем сайте www.ajam.org.pl я выложил LLVM/Clang в версии 2.9.
Там тоже есть libobjc2-1.4. Новый clang работаеть хорошо с языками с и Objective-C.
Записан
bbceler
Full Member
***
Offline Offline

Сообщений: 149


Просмотр профиля WWW
« Ответ #8 : Января 02, 2012, 11:15:25 pm »

Во первых Всем самые лучшие Новогодные пожелания в Новом 2012 году.

На сайте www.ajam.org.pl и www.ajamweb.pl/ я выложил самую последную версию LLVM/Clang 3.0. Там тоже есть libobjc2-1.6. Самое главное в том, что для компиляции был использован clang а не gcc. Так что тепер clang3.0 в QNX тепер тоже работаеть с языком с++.

   
Записан
bbceler
Full Member
***
Offline Offline

Сообщений: 149


Просмотр профиля WWW
« Ответ #9 : Июня 10, 2012, 05:33:43 pm »

На сайте www.ajam.org.pl и www.ajamweb.pl/ я выложил самую последную версию LLVM/Clang 3.1 для QNX6ю5ю0.

Записан
Страниц: [1]
  Печать  
 
Перейти в: