The OpenNET Project / Index page

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



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

Оглавление

Релиз набора компиляторов GCC 12, opennews (?), 06-Май-22, (0) [смотреть все]

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


54. "Релиз набора компиляторов GCC 12"  +/
Сообщение от иксперт на диване (?), 06-Май-22, 18:07 
Система gentoo amd-x86_64 plasma-desktop-wayland-amdgpu -march=native -O2. Cpu-FX9590 ram16gb,zswap-16gb ssd-samsung-850pro-4Tb.Собрано gcc-12.0.1.pre20220430
Все собрано из 1100 исходных текстов.Остановок сборки нет.Насчет регрессий по скорости выполнения ключевых программ системы не проверял очень трудоемко забезплатно.Падений в работе программ продакшен системы нет.Также в игрулях wine-staging-7.7 воркает стабильно.Мигрировал на gcc-12.1  c gcc-11.3.
Ответить | Правка | Наверх | Cообщить модератору

57. "Релиз набора компиляторов GCC 12"  –2 +/
Сообщение от Аноним (14), 06-Май-22, 18:21 
Скучные флаги, фу таким быть. Обычно косяки лезут на всех этих -fipa-pta и -fdevirtualize-at-ltrans, смотри у каких пакетов юзы с lto/pgo, какие пакеты стрипают/заменяют какие флаги, и так далее.
Ответить | Правка | Наверх | Cообщить модератору

58. "Релиз набора компиляторов GCC 12"  +/
Сообщение от Аноним (14), 06-Май-22, 18:24 
Вот кстати ссылка по теме, часть информации весьма релевантна https://github.com/InBetweenNames/gentooLTO экшен начинается когда у тебя libz или libcurses/libreadline оказываются нерабочими после сборки и установки их в систему.
Ответить | Правка | Наверх | Cообщить модератору

148. "Релиз набора компиляторов GCC 12"  +/
Сообщение от n00by (ok), 09-Май-22, 07:47 
> экшен начинается когда у тебя libz или libcurses/libreadline оказываются нерабочими после
> сборки и установки их в систему.

Давно не проверял, остались ли проблемы, но вот что есть:

$ egrep 'curses|readline|libz' /etc/portage/package.env/lto
sys-libs/ncurses    no-lto

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

59. "Релиз набора компиляторов GCC 12"  +/
Сообщение от Аноним (50), 06-Май-22, 18:35 
А какой смысл в -O2? Какая всем разница про твердотельник? Тут чтобы улучшить скорость процессора делают забеги процессора в Gentoo. Фишка в том, что несовсем готовые пакеты могут не собраться новым компилятором в стабильный вариант при использовании агрессивных флагов компиляции. И не так уж и дорого даунвольтнуть процессор чтобы он жрал 1,1 вольт или даже меньше. 1,1 это я делал с fx-6100 у которого родное напряжение сильно выше. Так что понт перед гентушниками не засчитан. Чтобы считаться гентушником ты должен изучать систему и тебе должно быть интересно выжать из нее максимум или практически максимум если система нестабильна на максимально агрессивных флагах компиляции.
Ответить | Правка | К родителю #54 | Наверх | Cообщить модератору

67. "Релиз набора компиляторов GCC 12"  +1 +/
Сообщение от Аноним (67), 06-Май-22, 19:25 
Забеги давно закончились падениями откатами бэкапами и не возможностью нормального обновления.За 15   лет использования gentoo накушался я этого сполна.Во первых я ни кому ни чего не должен.Во вторых философия gentoo это не только разгон флагами компилятора а гибкость настройки системы под себя поэтому как хочу так и ворочу.В третьих твой троллинг про понты не засчитан.В четвертых ssd потому что 850pro версии samsunгов не убиваемые при постоянных компиляциях и перезаписях файлов.В пятых и последних жирный тролль если ты мне будешь платить зарплату то я с удовольствием протестирую на твоем оборудовании нестабильную систему на максимально агрессивных флагах компиляции.Так что изучай лучше ubuntu linux а про компиляторы не рассуждай это не волшебная пуля.А грамотно написаный и протестированый код но ты об этом конечно не знаеш.
Ответить | Правка | Наверх | Cообщить модератору

71. "Релиз набора компиляторов GCC 12"  +/
Сообщение от Аноним (14), 06-Май-22, 19:34 
Ты просто не осилил, соболезную. Но это правда, что счастье вовсе не в оптимизированном коде. Однако, самые необходимые компоненты иногда всё же есть смысл собрать так, чтобы они работали максимально эффективно. Всё же есть разница ждать исполнения ты будешь 30 секунд или 10.
Ответить | Правка | Наверх | Cообщить модератору

72. "Релиз набора компиляторов GCC 12"  +1 +/
Сообщение от Аноним (14), 06-Май-22, 19:37 
С питоном, кстати, тоже довольно забавно получилось, я специально протестировал производительность различных билдов (достаточно полноценно, с рядом интересных флагов очень ощутимо быстрее выходит, печально, что в генту вики об этом не расскажут -- в тех же федоре и убунте ребята в курсе).
Ответить | Правка | Наверх | Cообщить модератору

98. "Релиз набора компиляторов GCC 12"  +/
Сообщение от Аноним (50), 07-Май-22, 07:34 
Что? Любой жесткий диск справится с этим компилянием, хоть тихий на 5400 оборотов. 4 терабайта дорогого самсуна это не просто фэил, а тотальный фэил. За эти деньги можно было взять 16 ядерный процессор, который во много раз будет быстрее этого FX. Зарплата кому? Компам? Чувак ты с какой планеты? Давай выдыхай. ЧТобы написать как я надо иметь мозги и несколько лет опыта на Gentoo. Если у тебя корявые мозги можешь и дальше орать как Gentoo для тех кому охренеть как надо гибкость в том месте, который давно сто раз отлажен в том же виде людьми в каком-нибудь Devuan. А может у тебя собрать из исходников раз это офигеть какое дело. Главное же ресурс твердотельника! Я такого бреда давно не читал.
Ответить | Правка | К родителю #67 | Наверх | Cообщить модератору

110. "Релиз набора компиляторов GCC 12"  +/
Сообщение от Аноним (67), 07-Май-22, 12:08 
Что? Любой жесткий диск справится с этим компилянием, хоть тихий на 5400 оборотов. 4 терабайта дорогого самсуна это не просто фэил, а тотальный фэил. За эти деньги можно было взять 16 ядерный процессор


Ну скажи проще тебе просто завидно.Что ты докопался до твердотельника.Мне его подарил друган который живет в токио если что.Да и заметь я тебя не осуждаю что у тебя жесткий диск как я тебя понял.У меня он тоже работает под файлопомойку.Если ты не пробывал ssd в linux на ext4 то видимо и не знаеш ни чего.Узпакойся уже выдохни.А процессор меня и FX9590 устраивает вот погорит материнка тогда и возьму как ты советуеш 16 ядерник.Не надо мне указывать что мне делать.Вот видно что ты не линуксоид и не уважаеш свободу опенсорса раз так агресивно сыплеш и давиш приказами типичный проприетарщик.Насчет опыта не тебе мне говорить у меня его уже 15 лет работы с gentoo linux.Насчет корявых мозгов отвечу так похоже что ты жирный троль с украины извини если я не прав.Да и извини за панибратство ты первый начал хамить.

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

149. "Релиз набора компиляторов GCC 12"  +/
Сообщение от n00by (ok), 09-Май-22, 07:54 
> ssd потому что 850pro версии samsunгов не убиваемые
> при постоянных компиляциях и перезаписях файлов.

А зачем вообще ssd для сборки? Есть же ZRAM - вот для этого её и придумали (а не для подкачки, как полагают некоторые). Или ssd имеется ввиду под ccache?

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

68. "Релиз набора компиляторов GCC 12"  +/
Сообщение от Аноним (14), 06-Май-22, 19:27 
Для gcc -O2 ощутимо быстрее в среднем, по моему опыту. Чтобы собирать с интересными оптимизациями надо компилировать с профилированием, соответственно должна быть стадия где софт после компиляции запускается и прогоняются хотя бы тесты, а потом компилируется ещё раз. Это валидный способ ускорить некоторые программы в несколько раз (например, я активно использую jq, и он ускоряется раза в 3 в результате такой оптимизации, компиляция же с уровнями, отличными от -O2, приносит только замедление в полтора-два раза, время запуска тоже страдает). Хотя куда чаще профит производительности в пределах 30%. И -O2 универсально хороший уровень, не вызывающий замедления. Когда разработчики уверены в профите от 3 уровня, они на этом настаивают сами.
Ответить | Правка | К родителю #59 | Наверх | Cообщить модератору

75. "Релиз набора компиляторов GCC 12"  +/
Сообщение от Аноним (67), 06-Май-22, 19:56 
Вот с этим категорически согласен.Python MozFirefox и некоторые другие программы собираю с PGO профилированием на gcc-12.1.Plasma-kde вся собрана с LTO.Ядро linux-5.17.5-liquorix под Fx-9590 собрано с Clang-14.0.3 и Thin-lto оптимизацией и планировщиком PDS от альфреда чена.Все это дает профит на быстрых минимальных тестах ну в игрульках тоже заметно при контроле fps через dxvk overlay.Я же говорил не надо завидовать и тролить не по делу не осилятор это ты а у меня своя правда.
Ответить | Правка | Наверх | Cообщить модератору

76. "Релиз набора компиляторов GCC 12"  +/
Сообщение от Аноним (74), 06-Май-22, 19:58 
А вот на расте…
Ответить | Правка | К родителю #68 | Наверх | Cообщить модератору

87. "Релиз набора компиляторов GCC 12"  +1 +/
Сообщение от nvidiaamd (?), 06-Май-22, 21:54 
А на расте нет в системе полезного кода. И хорошо что не появится.
Ответить | Правка | Наверх | Cообщить модератору

104. "Релиз набора компиляторов GCC 12"  +1 +/
Сообщение от Аноним (-), 07-Май-22, 10:40 
> А какой смысл в -O2?

А что предлагается то? -O3 например может сильно раздуть код а выигрыш иногда того стоит а иногда даже проигрыш бывает, да еще некоторый алгоритмический код глюкает на этом уровне оптимизации.

> улучшить скорость процессора делают забеги процессора в Gentoo.

Возможно вы имели в виду запрыги на грабли? :)

> Фишка в том, что несовсем готовые пакеты могут не собраться новым компилятором в стабильный
> вариант при использовании агрессивных флагов компиляции.

Еще лучше если оно собралось но потом - опа, глюк! Понимаешь, некоторым не хочется долбаться ради еще 2% перфоманса, и гарантированность результата - может перевесить эти 2% и сопутствующие глюки.

> нее максимум или практически максимум если система нестабильна на максимально агрессивных
> флагах компиляции.

Кажется он начинает о чем-то догадываться. Задаунвольтить - а потом тест стабильности и корректности работы проца сравнимый с фабричным ты конечно же умеешь? Во всех краевых случаях? Или тебя бонусом к глюкам мегаоптимизнутого кода начнут по@бывать еще и глюки процыка раз в пару часов - и ты вообще никогда не поймешь что в этом месиве глюкает? :)

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

111. "Релиз набора компиляторов GCC 12"  +/
Сообщение от Игуанодон (?), 07-Май-22, 12:38 
-Os хватит всем.
Ответить | Правка | Наверх | Cообщить модератору

126. "Релиз набора компиляторов GCC 12"  +/
Сообщение от Аноним (-), 07-Май-22, 20:00 
> -Os

Для gcc существенно не отличается от -O2. Вообще не понятно для чего нужен.

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

150. "Релиз набора компиляторов GCC 12"  +/
Сообщение от n00by (ok), 09-Май-22, 08:02 
На процессорах с небольшим кешем инструкций может оказаться быстрее. Во времена Целеронов было особенно заметно, потому Интел рекомендовала оптимизировать по скорости - надо же как-то объяснить цену кукурузных Пней.
Ответить | Правка | Наверх | Cообщить модератору

155. "Релиз набора компиляторов GCC 12"  +1 +/
Сообщение от Аноним (-), 09-Май-22, 10:15 
> bash $ diff -u <(gcc -O2 -Q --help=optimizers) <(gcc -Os -Q --help=optimizers)

Посмотри вывод. Разница только в выравнивании блоков (функций, циклов, меток для перехода и тп). На размер кода это практически не влияет, так как всё мелкое заинлайнится, а большое - разница не больше погрешности измерений.

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

177. "Релиз набора компиляторов GCC 12"  +/
Сообщение от n00by (ok), 10-Май-22, 09:49 
Когда я это смотрел, использовал профилировщик и замерял время исполнения. Выравнивание как раз и делает погоду. При большом кеше получаем минимальный выигрыш за счёт перехода на выровненный блок, а при маленьком кеше эти "оптимизированные" кусочки начинают вытеснять из кеша друг друга, поскольку в сумме их помещается более чем вчетверо меньше (и это без учёта -faggressive-loop-optimizations). Но отчасти Вы правы, поскольку я проверял на MSVC (GCC в то время сливал по скорости сгенерированного кода), а оптимизации различаются.
Ответить | Правка | Наверх | Cообщить модератору

179. "Релиз набора компиляторов GCC 12"  +/
Сообщение от Аноним (-), 10-Май-22, 10:03 
>> gcc
> поскольку я проверял на MSVC

Отлично!

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

180. "Релиз набора компиляторов GCC 12"  +/
Сообщение от n00by (ok), 10-Май-22, 10:10 
>>> gcc
>> поскольку я проверял на MSVC
> Отлично!

Будем разбирать, в чем отличия в плане выравнивания и почему у меня написано "***может*** оказаться"? Допустим, гранулярность 16 байт. Выравниваются кусочки в 8 байт. В среднем перерасход памяти вдвое, вытеснения вдвое чаще при том же объёме кеша. А он у Целеронов вчетверо меньше. И это без учёта ассоциативности.

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

181. "Релиз набора компиляторов GCC 12"  +/
Сообщение от n00by (ok), 10-Май-22, 10:17 
Почему именно MSVC. Он генерирует pdb. Это надо не только для отладки. Тогда был профилировщик AMD CodeAnalyst - он проводил симуляцию конвейера и строил диаграмму исполнения команд по стадиям. То есть все промахи кеша показывал наглядно в графическом виде. uProf сейчас такое не показывает.
Ответить | Правка | К родителю #179 | Наверх | Cообщить модератору

176. "Релиз набора компиляторов GCC 12"  +/
Сообщение от Аноним (-), 10-Май-22, 09:49 
> Для gcc существенно не отличается от -O2. Вообще не понятно для чего нужен.

Вообще-то отличается. Особенно на микроконтроллерах. Код заметно меньше. Затем и нужен. А так прикольно, приперся какой-то некомпетент с маргинальным бэкграундом и выдал свое сверхценное мнение о (не)нужности фичи.

Мораль сей басни такова: чем безапелляционнее заявы тем некомпетентнее заявляющий.

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

182. "Релиз набора компиляторов GCC 12"  +/
Сообщение от Аноним (-), 10-Май-22, 10:47 
> Особенно на микроконтроллерах.

Где максимум gcc4. Там да, '-Os' достаточно сильно отличается от '-O2'.
Начиная с gcc5 сильно поменялась оптимизация по размеру.

Есть `clang -Oz`, вот он пытается.

> Мораль сей басни такова: чем безапелляционнее заявы тем некомпетентнее заявляющий.

На себя посмотри.

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

191. "Релиз набора компиляторов GCC 12"  +/
Сообщение от Аноним (-), 11-Май-22, 21:36 
> Где максимум gcc4.

Так, что я там про некомпетентность говорил? Прости, тезка, но LAMERS MUST DIE.

- Самый винтажный GCC который я у себя нашел на эту тему был GCC 5.4 для avr'ок. Есть и более новые, они не моя основная платформа и я не парюсь особо.
- Самый винтажный GCC для ARM'ов в моих системах был 8. Но даже текущий релиз билдится для них влет.

Cortex-M и AVR по-моему достаточно микроконтроллерно уже, не? Но где же gcc4? В музее? :)

> Там да, '-Os' достаточно сильно отличается от '-O2'.

Да оно так то везде отличается. И хотя ты частично прав в том что оно в чем-то похоже, в целом разнца такова что -Os предпочитает более медленные но компактные варианты, а -O2 более быстрые даже если код жирнее. Запрос компактного размера заставляет оптимизер делать более компактный код даже если это будет заметно медленнее.

Как оно на конкретный алгоритм разложится - на самом деле очень отдельный вопрос. Особенно в паре с LTO каким-нибудь. Возможны варианты. В конечном итоге вон то - общая "усредненная" идея, но всегда возможны забавные частные случаи. Окончательный вердикт выносит бенч, и в энном случае совсем не обязано быть как написано. Но целом идея - вон та.

> Начиная с gcc5 сильно поменялась оптимизация по размеру.

Там еше LTO где-то в процессе появился, в 5 уже вроде был но довольно глючный. При правильном подходе может еще добрую четверть бинаря удалить вникуда, не теряя в скорости, что и делает его эпик вином.

> Есть `clang -Oz`, вот он пытается.

Я не пользуюсь шлангом, мне он не интересен, так что не в курсе про его приколы. GCC поддерживает больше платформ и мне это удобно.

> На себя посмотри.

Посмотрел, даже поделился наблюдениями насчет версий GCC. Доволен?

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

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

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




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

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