The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Релиз набора компиляторов LLVM 3.9, opennews (??), 03-Сен-16, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


9. "Релиз набора компиляторов LLVM 3.9"  +/
Сообщение от h31 (ok), 03-Сен-16, 03:37 
Кстати, может подскажете?
Когда-то смотрел бенчмарки gcc vs clang, и почти везде говорилось, что clang компилирует в 2-3 раза быстрее gcc. Я много чего собираю на одноплатнике, и хочется, чтобы компиляция шла быстрее. Собственно поэтому и решил поэкспериментировать с clang-ом. Попробовал у себя - разница есть, но намного меньше ожидаемой, процентов 10. Погуглил свежие бенчмарки - да, ситуация поменялась, теперь нет такой большой разницы в скорости сборки. Поэтому интересно, это gcc так сильно ускорили, или наоборот, clang так пожирнел?
Ответить | Правка | Наверх | Cообщить модератору

14. "Релиз набора компиляторов LLVM 3.9"  +4 +/
Сообщение от mumu (??), 03-Сен-16, 07:13 
Скорее второе. Новенькие проекты гордятся какие они шустрые и легковесные по сравнению с "динозаврами". Вот только лет через пять все снова встает на свои места. Потому что проекты тяжелые и медленные не потому что так кому-то захотелось, а потому что пришлось.
Ответить | Правка | Наверх | Cообщить модератору

29. "Релиз набора компиляторов LLVM 3.9"  +/
Сообщение от Аноним (-), 03-Сен-16, 13:56 
>>потому что пришлось.

потому что объективная необходимость.

Ответить | Правка | Наверх | Cообщить модератору

20. "Релиз набора компиляторов LLVM 3.9"  +1 +/
Сообщение от iZENemail (ok), 03-Сен-16, 11:04 
GCC серьёзно улучшили, а вот LLVM/Clang к 4.0 версии сильно разжирел.
Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

25. "Релиз набора компиляторов LLVM 3.9"  +/
Сообщение от ананим.orig (?), 03-Сен-16, 12:37 
Да-да, вантузного жабиста только и слушать.

Стал просто реализовавать стандарты и.. о! Чудо! Стал толстеть.
Внезапно.

Ответить | Правка | Наверх | Cообщить модератору

30. "Релиз набора компиляторов LLVM 3.9"  +1 +/
Сообщение от iZENemail (ok), 03-Сен-16, 13:57 
> Да-да, вантузного жабиста только и слушать.
> Стал просто реализовавать стандарты и.. о! Чудо! Стал толстеть.

А то!

% du -d1 /usr/local/llvm37/
3,2M    /usr/local/llvm37/bin
46M    /usr/local/llvm37/lib
18K    /usr/local/llvm37/libexec
219K    /usr/local/llvm37/share
10M    /usr/local/llvm37/include
59M    /usr/local/llvm37/
% /usr/local/llvm37/bin/clang --version
clang version 3.7.1 (tags/RELEASE_371/final)
Target: x86_64-unknown-freebsd11.0
Thread model: posix

% du -d1 /usr/local/llvm38
267K    /usr/local/llvm38/share
11M    /usr/local/llvm38/include
279M    /usr/local/llvm38/bin
18K    /usr/local/llvm38/libexec
124M    /usr/local/llvm38/lib
415M    /usr/local/llvm38
% /usr/local/llvm38/bin/clang --version
clang version 3.8.1 (tags/RELEASE_381/final)
Target: x86_64-unknown-freebsd11.0
Thread model: posix
InstalledDir: /usr/local/llvm38/bin

% du -d1 /usr/local/llvm39
93K    /usr/local/llvm39/share
12M    /usr/local/llvm39/include
259M    /usr/local/llvm39/bin
18K    /usr/local/llvm39/libexec
149M    /usr/local/llvm39/lib
420M    /usr/local/llvm39
% /usr/local/llvm39/bin/clang --version
clang version 3.9.0 (tags/RELEASE_390/final)
Target: x86_64-unknown-freebsd11.0
Thread model: posix
InstalledDir: /usr/local/llvm39/bin


> Внезапно.

% du -d1 /usr/local/llvm-devel/
163M    /usr/local/llvm-devel/lib
124K    /usr/local/llvm-devel/share
354M    /usr/local/llvm-devel/bin
12M    /usr/local/llvm-devel/include
18K    /usr/local/llvm-devel/libexec
530M    /usr/local/llvm-devel/
% /usr/local/llvm-devel/bin/clang --version
clang version 4.0.0
Target: x86_64-unknown-freebsd11.0
Thread model: posix
InstalledDir: /usr/local/llvm-devel/bin

Ответить | Правка | Наверх | Cообщить модератору

42. "Релиз набора компиляторов LLVM 3.9"  +/
Сообщение от Аноним (-), 03-Сен-16, 15:44 
Ну ты и спамер. А зачем тебе 3 шланга? Ты что, сантехник?
Ответить | Правка | Наверх | Cообщить модератору

52. "Релиз набора компиляторов LLVM 3.9"  –1 +/
Сообщение от iZENemail (ok), 03-Сен-16, 18:49 
> Ну ты и спамер. А зачем тебе 3 шланга? Ты что, сантехник?

llvm37 завязан на DRI2/Mesa/libEGL 11.2.2, используемых в xorg-server-1.17.4 для программно-аппаратного ускорения графики свободных драйверов.
Остальные версии llvm пробую использовать в качестве замены системного LLVM/Clang 3.8.0. (Пока удалось скомпилировать только ядро, базовую систему не получается)


Ответить | Правка | Наверх | Cообщить модератору

56. "Релиз набора компиляторов LLVM 3.9"  +/
Сообщение от ананим.orig (?), 03-Сен-16, 20:16 
> Пока удалось скомпилировать только ядро, базовую систему не получается

Помнится в гцц с ядром подобные детские проблемы были в районе 2.95.
Нда.. давно это было.

Ответить | Правка | Наверх | Cообщить модератору

59. "Релиз набора"  +1 +/
Сообщение от Andrey Mitrofanov (?), 03-Сен-16, 21:23 
> Помнится в гцц с ядром подобные детские проблемы были в районе 2.95.
> Нда.. давно это было.

О! БээСДэшники собирали своё ядро чем-то другим??

Чем?!

И кто-что их заставило на этот богомерзкий гцц??!

Ответить | Правка | Наверх | Cообщить модератору

63. "Релиз набора"  –1 +/
Сообщение от ананим.orig (?), 03-Сен-16, 22:23 
> О! БээСДэшники собирали своё ядро чем-то другим??

:D
Ну это смотря какие.
Некоторые конЪпилятЪ javac. Да ещё и под вантузом

Ответить | Правка | Наверх | Cообщить модератору

64. "Релиз набора компиляторов LLVM 3.9"  –1 +/
Сообщение от iZENemail (ok), 04-Сен-16, 00:41 
>> Пока удалось скомпилировать только ядро, базовую систему не получается
> Помнится в гцц с ядром подобные детские проблемы были в районе 2.95.
> Нда.. давно это было.

Всё-таки мне удалось скомпилировать не только ядро, но и базовую систему FreeBSD 11.0-PRERELEASE с помощью свежего LLVM/Clang 3.8.1, установленным из дерева портов: http://www.freshports.org/devel/llvm38/
Опции сборки:
    CLANG          : on
    COMPILER_RT    : on
    DOCS           : off
    EXTRAS         : on
    GOLD           : off
    LIT            : off
    LLD            : on
    LLDB           : off
    OPENMP         : on
Что даёт опция EXTRAS?
Имеет смысл задействовать GOLD?

Ответить | Правка | К родителю #56 | Наверх | Cообщить модератору

65. "Релиз набора компиляторов LLVM 3.9"  –1 +/
Сообщение от Аноним (-), 04-Сен-16, 01:24 
Если у тебя дофига ресурсов и ты хочешь ощутить себя конкретной билдфермой - попробуй LTO. Смысл такой что линкер делает дополнительный анализ и вырубает весь неиспользуемый код на фазе линковки. В результате бинари как минимум заметно меньше по размеру, что хорошо во всех отношениях. В лучшем случае еще и чуть быстрее из-за увеличения cache hit проца. Ах да, что взамен? Медленная линковка, жрущая ресурсы как танк соляру.
Ответить | Правка | Наверх | Cообщить модератору

83. "Релиз набора компиляторов LLVM 3.9"  +/
Сообщение от iZENemail (ok), 05-Сен-16, 00:53 
> Если у тебя дофига ресурсов

У меня старенький процессор, на котором я всего лишь хочу ускорить компиляцию и сократить время апдейтов из сорцов.
Пока добился того, что вынес систему компиляции из базовой системы "наружу", и она стала независима; скорость компиляции ядра и системы возросла в три раза — теперь нужно полтора часа вместо четырёх с половиной.

Ответить | Правка | Наверх | Cообщить модератору

85. "Релиз набора компиляторов LLVM 3.9"  +/
Сообщение от Led (ok), 05-Сен-16, 09:20 
> Пока добился того, что вынес систему компиляции из базовой системы "наружу", и
> она стала независима; скорость компиляции ядра и системы возросла в три
> раза — теперь нужно полтора часа вместо четырёх с половиной.

А зачем ты венду перекомпилируешь?

Ответить | Правка | Наверх | Cообщить модератору

93. "Релиз набора компиляторов LLVM 3.9"  –1 +/
Сообщение от iZENemail (ok), 07-Сен-16, 14:59 
> А зачем ты венду перекомпилируешь?

Чтобы перестать пить коньяк по утрам!

Ответить | Правка | К родителю #85 | Наверх | Cообщить модератору

71. "Релиз набора компиляторов LLVM 3.9"  –1 +/
Сообщение от Аноним (-), 04-Сен-16, 06:35 
>Что даёт опция EXTRAS?

несколько дополнительных утилит - clang-tidy, clang-format, clang-include-fixer, и что там еще есть в clang-tools-extra.

Ответить | Правка | К родителю #64 | Наверх | Cообщить модератору

75. "Релиз набора компиляторов LLVM 3.9"  –1 +/
Сообщение от iZENemail (ok), 04-Сен-16, 14:52 
>>Что даёт опция EXTRAS?
> несколько дополнительных утилит - clang-tidy, clang-format, clang-include-fixer, и что
> там еще есть в clang-tools-extra.

А что они дают дополнительно? Это утилиты только для разработчика полезны, когда там хочется поковыряться в коде, что-то дополнительно посмотреть-оптимизировать?


Ответить | Правка | Наверх | Cообщить модератору

66. "Релиз набора компиляторов LLVM 3.9"  +/
Сообщение от Аноним (-), 04-Сен-16, 01:25 
>> Пока удалось скомпилировать только ядро, базовую систему не получается
> Помнится в гцц с ядром подобные детские проблемы были в районе 2.95.

С каких это пор у лапчатых есть еще и "база"?

> Нда.. давно это было.

Ну хоть бы иногда lkml почитывали, что ли:
http://lkml.iu.edu/hypermail/linux/kernel/0407.1/0517.html
> Re: GCC 3.4 and broken inlining.

http://lkml.iu.edu/hypermail/linux/kernel/1101.0/03126.html
> Re: [PATCH] fix miscompiling with GCC 4.5 -finline-functions

http://lkml.iu.edu/hypermail/linux/kernel/1407.3/00650.html
> Re: Random panic in load_balance() with 3.16-rc
> From: Linus Torvalds
> Ok, so I'm looking at the code generation and your compiler is pure and utter *shit*.
> Adding Jakub to the cc, because gcc-4.9.0 seems to be terminally broken.

https://lkml.org/lkml/2015/4/14/576
> Subject    [PATCH] compiler: add support for gcc 6
>gcc has recently bumped its major version and this is causing kernel build errors.

Ответить | Правка | К родителю #56 | Наверх | Cообщить модератору

72. "Релиз набора компиляторов LLVM 3.9"  –1 +/
Сообщение от ананим.orig (?), 04-Сен-16, 08:27 
Баги с "генеральной линией партии" не путаем, да, лапчатый?
Ответить | Правка | Наверх | Cообщить модератору

74. "Релиз набора компиляторов LLVM 3.9"  +/
Сообщение от Аноним (-), 04-Сен-16, 14:00 
> Баги с "генеральной линией партии" не путаем, да, лапчатый?

Теплое с мягким, как некоторые, сравнивая? Не, не путаем. Кстати, как знаток генеральных линий объяснит вот это:
https://lists.freebsd.org/pipermail/svn-src-head/2016-July/0...
> Log:
>  Do not use -fformat-extensions with non-base versions of gcc
>  This unbreaks compiling the kernel/modules with non-base gcc (4.8,
>  5.0, etc) if MK_FORMAT_EXTENSIONS=yes (the default).

Ответить | Правка | Наверх | Cообщить модератору

67. "Релиз набора компиляторов LLVM 3.9"  +/
Сообщение от Аноним (-), 04-Сен-16, 01:45 
> llvm37 завязан на DRI2/Mesa/libEGL 11.2.2,

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

Ответить | Правка | К родителю #52 | Наверх | Cообщить модератору

48. "Релиз набора компиляторов LLVM 3.9"  +/
Сообщение от ананим.orig (?), 03-Сен-16, 18:08 
Алё! Речь шла о скорости компиляции.
При чём тут размер, занимаемый в ФС?
Ответить | Правка | К родителю #30 | Наверх | Cообщить модератору

40. "Релиз набора компиляторов LLVM 3.9"  +2 +/
Сообщение от Аноним (-), 03-Сен-16, 15:42 
> Когда-то смотрел бенчмарки gcc vs clang, и почти везде говорилось, что clang
> компилирует в 2-3 раза быстрее gcc.

Пока он хреново оптимизировал код - так и было. А как оптимизатор стал сравним по качеству кода с gcc, так и скорость компиляции обвалилась до тех же величин. Можешь на форониксе посмотреть. Они иногда бенчат это и там видно что в каждой версии шланг становился все медленнее.

> Я много чего собираю на одноплатнике, и хочется, чтобы компиляция шла быстрее.

Чудес не бывает: если компиляция проходит быстрее, значит фаза оптимизации выдаст лажовый код. В том же gcc -O0 компилит в разы быстрее -O3, но качество кода тебе не понравится. Зачем тебе пухлый и тормозной код на одноплатнике? :)

> поэкспериментировать с clang-ом. Попробовал у себя - разница есть, но намного
> меньше ожидаемой, процентов 10. Погуглил свежие бенчмарки - да, ситуация поменялась,

Когда он был быстрый - он и код генерил тяп-ляп. Чудес не бывает. Или кто тратит ресурсы на оптимизацию кода или таки получает неоптимальный код.

> теперь нет такой большой разницы в скорости сборки. Поэтому интересно, это
> gcc так сильно ускорили, или наоборот, clang так пожирнел?

И то и другое. GCC подперло конкуренцией и он серьезно улучшился. Clang пытался стать конкурентоспособным по качеству кода и неизбежно затормозился.

Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

60. "Релиз набора компиляторов LLVM 3.9"  +/
Сообщение от h31 (ok), 03-Сен-16, 21:32 
Спасибо за ответ, Аноним. В таком случае останусь на gcc. Развернул на десктопе кросс-компилятор, подключил к одноплатнику как узел distcc - стало собирать в несколько раз быстрее.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру