URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 71889
[ Назад ]

Исходное сообщение
"Библиотека Qt успешно собрана компилятором Clang"

Отправлено opennews , 29-Окт-10 21:24 
Разработчики компании Nokia сообщили (http://labs.qt.nokia.com/2010/10/29/compiling-qt-with-clang/) о достижении успешной сборки последнего снапшота фреймворка Qt компилятором Clang на платформах MacOS X и Linux. Тестирование вариантов Qt, собранных в GCC и Clang, выявило, что Linux-сборка на основе Clang функционирует на 16% медленнее, но собирается на 23% быстрее и занимает на 5% меньше дискового пространства. Отмечается, что результаты оценки производительности не окончательны - после внесения определенных оптимизаций ситуация может измениться.


<center><a href="http://labs.qt.nokia.com/wp-content/uploads/2010/10/clang-vs... src="http://www.opennet.me/opennews/pics_base/28461_1288372597.jp... style="border-style: solid; border-color: #e9ead6; border-width: 15px;" title="" border=0></a></center>

URL: http://labs.qt.nokia.com/2010/10/29/compiling-qt-with-clang/
Новость: http://www.opennet.me/opennews/art.shtml?num=28461


Содержание

Сообщения в этом обсуждении
"Библиотека Qt успешно собрана компилятором Clang"
Отправлено Аноним , 29-Окт-10 21:32 
Что этот компилятор на 20% быстрее работает.

"Библиотека Qt успешно собрана компилятором Clang"
Отправлено Sunder , 29-Окт-10 21:39 
Конкуренция - это всегда хорошо.
два открытых компилятора лучше чем один :)
ICC и SCC в расчёт не берём, по понятной причине.

"Библиотека Qt успешно собрана компилятором Clang"
Отправлено аноним , 29-Окт-10 21:51 
На время компиляции и размер глубоко положить. Когда производительность кода будет на уровне gcc, последний можно будет выкинуть для сборки всего. А пока можно выкинуть только для разработки - clang на порядок обгоняет gcc по части полезных warning'ов и читабельности текстов ошибок для C++, не говоря о остальных плюшках. Пока не хватает только coverage.

"Библиотека Qt успешно собрана компилятором Clang"
Отправлено PereresusNeVlezaetBuggy , 30-Окт-10 22:34 
> На время компиляции и размер глубоко положить.

Время компиляции влияет на скорость разработки (сюрприз?). Что означает влияние скорость исправления ошибок и появления нужных пользователям возможностей, а так же, в соответствующих случаях, на конечную стоимость продукта. Так что этот параметр важен.


"Библиотека Qt успешно собрана компилятором Clang"
Отправлено Аноним , 31-Окт-10 03:38 
просто бред.
1. есть make - перекомпилировываются только измененные файл
2. наибольшее время при разработке - на отладке. время сборки влияет, но весьма частично
3. скорость добавления ошибок и исправления нужных возможностей зависит от архитектуры программы и качества кода

"Библиотека Qt успешно собрана компилятором Clang"
Отправлено PereresusNeVlezaetBuggy , 31-Окт-10 05:35 
> просто бред.
> 1. есть make - перекомпилировываются только измененные файл

Угу, а линковать кто будет? Программы и библиотеки редко состоят из одного объектника. А когда меняется хедер (который по определению используется многими)?.. И т.д.

> 2. наибольшее время при разработке - на отладке. время сборки влияет, но
> весьма частично

И при самой отладке время сборки тоже влияет, когда что-то постоянно «подкручиваешь», вычисляя точную причину сбоев.

> 3. скорость добавления ошибок и исправления нужных возможностей зависит от архитектуры
> программы и качества кода

Это в первую очередь, согласен. Но это хотя бы контролируемые факторы. А вот скорость сборки зависит от особенностей компилятора.


"Библиотека Qt успешно собрана компилятором Clang"
Отправлено Аноним , 31-Окт-10 14:41 
>Угу, а линковать кто будет? Программы и библиотеки редко состоят из одного объектника. А когда меняется хедер (который по определению используется многими)?.. И т.д.

сборщик связей ld из пакета binutils. причем тут компилятор?

>И при самой отладке время сборки тоже влияет, когда что-то постоянно «подкручиваешь», вычисляя точную причину сбоев.

но зачем? есть же отладчик. работа с отладчиком занимает куда больше времени чем компиляция

>А вот скорость сборки зависит от особенностей компилятора.

скорость сборки никого не волнует


"Библиотека Qt успешно собрана компилятором Clang"
Отправлено Commie , 29-Окт-10 22:35 
Отлично. Надеюсь gcc, clang и icc начнут грызться между собой за производительность, стабильность работы, грамотные варнинги и дебаг код, так же как это происходит с браузерами и коммуникаторами, и любимая компания просрет еще один рынок, как это было с её IE и WM. А уж после потери M$VS останется им только троллить. А останутся на плаву все равно останемся в выигрыше.

"Библиотека Qt успешно собрана компилятором Clang"
Отправлено аноним , 30-Окт-10 00:36 
icc не начнет, он сразу слил потому что умеет полторы платформы и проприетарщина. На 5% более эффективной оптимизации не выехать, тем более если она только на их процах и работает.

"Библиотека Qt успешно собрана компилятором Clang"
Отправлено User294 , 31-Окт-10 00:01 
> icc не начнет, он сразу слил потому что умеет полторы платформы и
> проприетарщина.

Интель уже сам начал GCC подтягивать в плане оптимизации под свои процы. Как ни странно, им это оказалось надо, вероятно из-за MeeGo.


"Библиотека Qt успешно собрана компилятором Clang"
Отправлено аноним , 30-Окт-10 00:38 
> и любимая компания просрет еще один рынок

Сорри, не дочитал досюда. Вы это серьёзно? Микрософтовский компилятор вообще никогда не был никому конкурентом :)) Его используют только потому что в VC он по умолчанию и gcc лень ставить.


"Библиотека Qt успешно собрана компилятором Clang"
Отправлено FPGA , 30-Окт-10 01:37 
> Его используют только потому что в VC он по умолчанию и gcc лень ставить.

Есть один знакомый, утверждающий что msvc это глобально быстро и надежно или что-то в этом роде. Делал ли он сравнительный анализ? Нет.


"Библиотека Qt успешно собрана компилятором Clang"
Отправлено тоже Аноним , 30-Окт-10 20:44 
Честно говоря, был бы рад увидеть пруфлинк о том, что gcc может конкурировать с VS-компилятором на win-платформе.
Я до сих пор был уверен, что конкурентов у VS нет по другой причине - не доросли-с...
Можете дать пруф? Только не на фичи и попугаи, а на сравнение оптимизации результирующего приложения - и по размеру, и по скорости. Есть у меня пара числодробилок, слегка ускорившихся после перекомпиляции в VS2010, благо STL плотно использовалась...

"Библиотека Qt успешно собрана компилятором Clang"
Отправлено User294 , 31-Окт-10 00:04 
> Я до сих пор был уверен, что конкурентов у VS нет по
> другой причине - не доросли-с...
> Можете дать пруф?

Могу дать достаточно своеобразный пруф: поищите в реальных приложениях на реальном компьютере характерные строки. Если на комп поставили дополнительных программ, есть отнюдь не нулевой шанс что встретятся строки тиапичные для Mingw (GCC) например. По-моему, в VLC видел. И кстати VLC не является тормозным плеером. Правда, кроме GCC там еще асмовые вставки, но никто не виноват что вылизанный асм в критичных кусках в любом случае лучше "бреда" нагенеряченного в критичном куске компилером.


"Библиотека Qt успешно собрана компилятором Clang"
Отправлено Аноним , 31-Окт-10 03:43 
> Могу дать достаточно своеобразный пруф: поищите в реальных приложениях на реальном компьютере
> характерные строки. Если на комп поставили дополнительных программ, есть отнюдь не
> нулевой шанс что встретятся строки тиапичные для Mingw (GCC) например.

это только докажет, что gcc дешевле msvc и его можно применять для разработки, а просили без попугаев.


"Библиотека Qt успешно собрана компилятором Clang"
Отправлено тоже Аноним , 31-Окт-10 12:59 
Не то. Не тормозной интерфейс вполне достигается любым компилятором и зависит от самого кода.
А у меня NP-задача, решающаяся полным перебором с отходом назад, и я когда-то (еще в прошлой версии) ставил обновление экрана на 30000 циклов, чтобы промежуточное состояние было различимо глазом, а не сливалось. И тут от компилятора требуется все, что он может сделать для ускорения этих расчетов.

"Библиотека Qt успешно собрана компилятором Clang"
Отправлено мимопроходил , 30-Окт-10 01:40 
Если будет еще один свободный компилятор, это плюс. Конечно gcc он не убьет но будет стимулировать развитие, ибо конкуренция. Использую clang как как анализатор довесок к gcc очень удобно(http://clang.llvm.org/diagnostics.html).
Если верить тому же графику, gcc заточен под linux сильнее чем под остальные платформы.

"Библиотека Qt успешно собрана компилятором Clang"
Отправлено ананим , 30-Окт-10 03:48 
>Если верить тому же графику, gcc заточен под linux сильнее чем под остальные платформы.

какому графику? скорости комиляции? :D
и откуда это видно? там всё (!!!) примерно одинаково. или вы дебаг от релиз не отличаете?
офигенно авторитетный по полноте аналитических алгоритмов вывод.


"Библиотека Qt успешно собрана компилятором Clang"
Отправлено Аноним , 30-Окт-10 04:39 
> какому графику? скорости комиляции? :D
> и откуда это видно? там всё (!!!) примерно одинаково. или вы дебаг от релиз не отличаете?
> офигенно авторитетный по полноте аналитических алгоритмов вывод.

Что вы подразумеваете под "аналитическими алгоритмами" и что под "полнотой вывода"?
И понимаете ли вы вообще что-либо в предмете, кроме слова "скорость"?


"Библиотека Qt успешно собрана компилятором Clang"
Отправлено MarCo , 30-Окт-10 07:41 
Не пойму, чего народ парится. Написано же, что всё ещё может измениться и компилиться будет дольше и код толще.

"Библиотека Qt успешно собрана компилятором Clang"
Отправлено Sylvia , 30-Окт-10 07:50 
Qt вообщем-то всегда собиралась различными компиляторами без особенных проблем и на всех поддерживаемых платформах, так что сборка с clang++ это скорее тест на готовность самого Clang собирать большие и серьезные проекты.
Жаль что сборщики не пишут как оно работает, не полезли ли ошибки и глюки

"Библиотека Qt успешно собрана компилятором Clang"
Отправлено ImPressed , 30-Окт-10 09:20 
Да товарищи.... Вижу тут сборище ярых фанатиков.
За ради бога, пользуйтесь какими угодно компиляторами, компилятор - это лишь инструмент в руках программиста. Нравится GCC - пользуйте GCC, нравится Шланг и ллвм пользуйтесь ими.
За чем разводить срач XXX - рулит, YYY - педалит, а ZZZ - надо вообще закопать?
--

Хотя новость в принципе не про это, а про то что CLang научился QT собирать. Научился - и слава богу, может-быть кому-то это будет полезным. Для себя я пока нужды не вижу чтобы с GCC переходить на другие компиляторы, даже не смотря на то, в некоторых случаях GCC генерит код просто отвратительно (хотя может-быть дело не в GCC а в кривизне моих рук?).
Что тут ломать копья? Наоборот, это же хорошо - есть альтернативы, хуже бы было если бы их совсем не было этих альтернатив. Вот тут и прослеживается OSS в действии - людям был нужен компилятор, они его написали и открыли для других, и не надо тут воевать.


"Библиотека Qt успешно собрана компилятором Clang"
Отправлено Vkni , 31-Окт-10 03:41 
> Qt вообщем-то всегда собиралась различными компиляторами без особенных проблем и на всех
> поддерживаемых платформах

Да, в Qt нет ничего действительно серьёзного, напрягающего С++ компилятор.
Это далеко не boost, который, как утверждают, собирается clang'ом с этого февраля.


"Библиотека Qt успешно собрана компилятором Clang"
Отправлено Зенитар , 30-Окт-10 09:32 
Почему-то для компилятора от Интел таких новостей не пишут. Неужели он ничего серьезного и сложного скомпилировать не умеет?

"Библиотека Qt успешно собрана компилятором Clang"
Отправлено Sylvia , 30-Окт-10 19:51 
> Почему-то для компилятора от Интел таких новостей не пишут. Неужели он ничего
> серьезного и сложного скомпилировать не умеет?

лицензия ICC сильно ограничивает его использование и распространение получаемых бинарников,
а qt с ним давно собирается )


"Библиотека Qt успешно собрана компилятором Clang"
Отправлено User294 , 31-Окт-10 00:11 
> Почему-то для компилятора от Интел таких новостей не пишут. Неужели он ничего
> серьезного и сложного скомпилировать не умеет?

Да просто это коммерческий проект, плюс их компилер генерит код который плохо работает на процах AMD. Ну вот никто с ним особо и не связывается.


"Библиотека Qt успешно собрана компилятором Clang"
Отправлено Sylvia , 31-Окт-10 17:04 
>плюс их компилер генерит код который плохо работает на процах AMD.

вы неправы, точнее информация насчет работы кода на AMD уже устарела , версия 11.1 генерирует код, который независимо от вендора работает и на процессорах Intel и на процессорах AMD согласно возможностям процессора

в качестве proof могу предложить вот такой тест
собирается код c ICC , -mia32 (Generic) и -axT (-mtune=core2)
замеряется производительность, далее патчем patch-AuthenticAMD меняется vendor id в бинарнике, так что Core2 становится для этого кода "чужим"
с ICC 10.1 я наблюдала достаточно существенную просадку производительности (работала ветка -mia32) , с 11.1 результаты до патча и после патча были идентичны (работала оптимизированная ветка)


"Библиотека Qt успешно собрана компилятором Clang"
Отправлено sluge , 02-Ноя-10 09:34 
> Почему-то для компилятора от Интел таких новостей не пишут. Неужели он ничего
> серьезного и сложного скомпилировать не умеет?

потому что icc заточен строго под интеловские процы, а это никому нафиг ненадо


"Библиотека Qt успешно собрана компилятором Clang"
Отправлено Аноним , 30-Окт-10 11:21 
> но собирается на 23% быстрее

О это прям праздник для гентушников какой то ;)


"Библиотека Qt успешно собрана компилятором Clang"
Отправлено СуперАноним , 30-Окт-10 12:19 
Как пользовался GCC, так и дальше буду.
Недостаточно быстро компилит? Так добавьте процессорных ядер наконец. Всё равно медленно? Поставьте аппаратный RAID.

"Библиотека Qt успешно собрана компилятором Clang"
Отправлено Аноним , 30-Окт-10 12:58 
>Всё равно медленно? Поставьте аппаратный RAID.

Месье родом из Омска? Какая связь между скоростью сборки и RAID?


"Библиотека Qt успешно собрана компилятором Clang"
Отправлено Аноним , 30-Окт-10 13:15 
При сборке достаточно быстрыми компиляторами, например gcc(а не g++ с moc0), все упирается в I/O.

"Библиотека Qt успешно собрана компилятором Clang"
Отправлено NarkTranquility , 30-Окт-10 13:50 
создаем раздел tmpfs в ОЗУ и собираем в нем

"Библиотека Qt успешно собрана компилятором Clang"
Отправлено Аноним , 30-Окт-10 14:44 
> создаем раздел tmpfs в ОЗУ и собираем в нем

А сланг это будет на 23 процента еще быстрее ;P


"Библиотека Qt успешно собрана компилятором Clang"
Отправлено alz , 30-Окт-10 18:42 
openoffice так соберите

"Библиотека Qt успешно собрана компилятором Clang"
Отправлено Аноним , 31-Окт-10 03:47 
> openoffice так соберите

а у меня опенофис собирается за два дня.
// гентушник на целероне 2.5ГГц


"Библиотека Qt успешно собрана компилятором Clang"
Отправлено Zenitur , 30-Окт-10 14:57 
Гентушники если хотят быстро кмпилировать, заменяют ключи сборки с -02 (-03) на -0a.

"Библиотека Qt успешно собрана компилятором Clang"
Отправлено Zenitur , 30-Окт-10 14:58 
> Гентушники если хотят быстро кмпилировать, заменяют ключи сборки с -02 (-03) на
> -0a.

-0s


"Библиотека Qt успешно собрана компилятором Clang"
Отправлено Аноним , 31-Окт-10 03:48 
> Гентушники если хотят быстро кмпилировать, заменяют ключи сборки с -02 (-03) на
> -0a.

может лучше ccache?


"Библиотека Qt успешно собрана компилятором Clang"
Отправлено Sylvia , 31-Окт-10 22:58 
> может лучше ccache?

ccache не ускоряет скорость сборки, даже чуть замедляет, ускоряется скорость пересборки,
это как веб-прокси, если страница не кеширована , то она будет скачана полностью, если кеширована , то возьмется из кеша



"Библиотека Qt успешно собрана компилятором Clang"
Отправлено sluge , 02-Ноя-10 09:33 
distcc ускоряет

"Библиотека Qt успешно собрана компилятором Clang"
Отправлено sluge , 02-Ноя-10 09:35 
жаль не написали с какими опциями собирали