LINUX.ORG.RU

gentoo, LTO, CLANG, browser

 , ,


0

2

Кто смотрел? Лучше с LTO или без? Размер бинарника никак не влияет.

Firefox собирать с помощью CLANG или убрать флаг и собирать GCC?
Как по скорости работы?

Кто собирал Gentoo на CLANG?
Навеяло по: https://forums.gentoo.org/viewtopic-t-1102590-start-0.html



Последнее исправление: shleemypants (всего исправлений: 1)

Лучше с LTO или без

Depends. LTO точно не помешает, но некоторые пакеты с ним не собираются, нужно отключать попакетно. Насчёт ускорения - не мерил, но вряд ли оно будет отрицательное. Хотя с LTO сборка, особенно компоновка идёт намного дольше.

Firefox собирать с помощью CLANG или убрать флаг и собирать GCC?

А зачем его вообще собирать? Ну если так хочется, то я бы собирал gcc. Ещё бы запилили gcc-rs, чтобы clang в систему вообще не тащить.

eternal_sorrow ★★★★★
()
Последнее исправление: eternal_sorrow (всего исправлений: 1)
Ответ на: комментарий от devl547

А «мир» собирал с помощью Clang? (я тут шапку немного вопроса поменял).

shleemypants
() автор топика
Последнее исправление: shleemypants (всего исправлений: 1)

firefox тянет llvm и clang и в ebuild +clang выставлен, я себе включил, но редко запускаю ничего сказать не могу

doc0
()

clang или gcc для некоторых процессоров могут быть лучше оптимизированы а для других хуже,
наверное даже llvm, а не clang или rust

doc0
()
Последнее исправление: doc0 (всего исправлений: 1)
Ответ на: комментарий от shleemypants

Всё равно. Часть firefox собирается растом и чтобы связать часть собранную gcc с той, что собрана растом, нужен clang почему то. Скорее всего это связано с тем, что у раста бекенд на llvm. Поэтому вероятно эту проблему можно будет решить с помошью gcc-rs, но он пока не готов.

eternal_sorrow ★★★★★
()
Ответ на: комментарий от devl547

А линкером заюзай mold, он самый реактивный.

Бесполезное свойство если бинарники в результате получатся медленные. Он умеет в LTO?

eternal_sorrow ★★★★★
()
Ответ на: комментарий от shleemypants

А тебя как то беспокоит количество компиляторов на машине? У меня стоят и шланг и гцц и иллвм. Не один ты озабочен вопросами оптимизации, поэтому если сопровождающие ебилд файрфокса например решат что он лучше всего работает будучи собран шлангом у него появляется юз флаг «шланг», причём включённый по умолчанию.

Jameson ★★★★★
()
Ответ на: комментарий от Jameson

НЕ один я, да. А потому жду, когда уберут gtk2 из Лисы.
И меня конечно беспокоит. Компилируются долго.

shleemypants
() автор топика
Последнее исправление: shleemypants (всего исправлений: 1)

FF (более новый чем ESR 78) давно уже рекомендуют собирать только Clang, с GCC >= 10
там есть нерешенные (и по ходу нерешаемые глюки)
А вот включать LTO или нет - дело ваше.

Топик по ссылке уже весьма старый

Sylvia ★★★★★
()
Ответ на: комментарий от eternal_sorrow

Прикрутил (не без косяков). Я не знаю, но скорость сборки выросла, ощутимо.

shleemypants
() автор топика
Ответ на: комментарий от shleemypants

можно пробовать, я пробовала это еще очень давно и получила достаточно много собранных пакетов, сейчас то, что не соберется - будет единичным.
Правда сделаю заметку, что наверное придется отказаться от сборки
abi_x86_32 , потому что Clang пока выпадает на некоторых пакетах, типа ядра, типа ffmpeg с сообщением о том, что не хватает регистров.

Для 64 бит собрать наверное получится практически все, исключая glibc

$ cat /etc/portage/package.env |grep clang
sys-devel/llvm clang
sys-libs/libomp clang
sys-devel/clang clang
sys-devel/lld clang
kde-plasma/* clang gold
kde-frameworks/* clang gold
kde-apps/* clang gold
dev-qt/* clang gold
media-sound/qmmp clang
media-plugins/qmmp-plugin-pack clang
app-portage/eix clang
net-libs/libtorrent-rasterbar clang
net-p2p/qbittorrent clang
net-dns/pdnsd clang
dev-libs/nspr clang
dev-libs/nss clang
app-arch/unrar clang
www-client/firefox plainld clang
sys-libs/db plainld clang

я пока собираю только это, плюс часть пакетов пересобираю с AOCC 3.0 (это по сути тот же Clang 12.0), например xorg-server

Sylvia ★★★★★
()
Ответ на: комментарий от eternal_sorrow

Подробнее наверное не будет, т.к. когда в ebuild ввели принудительную сборку с clang, я ходила на FreeNode #Gentoo общаться, мне там накидали тикетов и в багзиллу Gentoo и в багзиллу Mozilla, по поводу проблем с GCC 10

Clang у меня тогда выдавал ICE при сборке ФФ, из-за разницы с LLVM в rust'e, приходилось собирать GCC 9.3.0

Логов уже нет.

Sylvia ★★★★★
()
Ответ на: комментарий от eternal_sorrow

А почему бы и нет? В принципе готова и всю систему собирать,
но см. упомянутую выше проблему с abi_x86_32, поэтому чтобы не спотыкаться на 32 битных библиотеках собирается только то, что собирается без них, ну и отдельные вещи.

Sylvia ★★★★★
()
Ответ на: комментарий от eternal_sorrow

особенно ни в чем, бенчмарки и сравнения потребления памяти всё равно не делала, просто желание использовать Clang (и AOCC, с AOCC впрочем понятнее, раньше я ICC пользовалась, но они жадные и закрылись практически окончательно, да и ЦПУ у меня теперь другой)


С экспериментами это вам теперь к кому-нибудь еще, у меня на малополезное времени не хватает, так что, если я и пользуюсь Gentoo, то пересборки и попытки что-то расковырять мне не нужны уже совершенно.

Sylvia ★★★★★
()
Ответ на: комментарий от Sylvia

всё собрал, что мне нужно, окромя ядра. ОНо потребовало старый.

shleemypants
() автор топика
Ответ на: комментарий от Sylvia

И да, сборка явно быстрее, с линкером (на систему gold) и Clang.

А вот по скорости работы - на глаз мягче, в моём рабочем окружении косяков нет. Попугаи принципиально не считал, так как очень специфически собирал как пакеты, так и выставлял USE.

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

Что ещё по самой Gentoo: много зависимостей даже в минимально версии при отходе от стандартных флагов начинают себя весело вести.

если я и пользуюсь Gentoo

А чем сейчас? И на DE?

shleemypants
() автор топика
Ответ на: комментарий от eternal_sorrow

В чём профит то?

Памяти на глаз жрёт меньше, но веселился с флагами компиляции долго (GCC), Kernel, LLVM, Clang. Последние 2 - дрова, или по их «рекомендациям» или никак.

shleemypants
() автор топика
Ответ на: комментарий от devl547

ДАже фаза луны влияет, ты что? (а сегодня полнолуние ;))

shleemypants
() автор топика
Ответ на: комментарий от devl547

при старте программ и прочих равных чистых условиях - немного меньше, потом конечно жирнолис по любому своё возьмет )

Sylvia ★★★★★
()
Ответ на: комментарий от devl547

не скажи. Там, конечно, выполнили план (BSD), но это не отменило, что кроме ядра и под него самого Gcc, всё остальное (около 600 пакетов в Gentoo) - Clang.

shleemypants
() автор топика
Последнее исправление: shleemypants (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.