[devel] I: gcc 11.2.1 && binutils 2.37

Andrey Savchenko bircoph на altlinux.org
Сб Сен 25 01:19:45 MSK 2021


On Sat, 25 Sep 2021 00:06:34 +0300 Anton Farygin wrote:
> On 24.09.2021 23:47, Andrey Savchenko wrote:
> > On Fri, 24 Sep 2021 23:20:40 +0300 Dmitry V. Levin wrote:
> >> On Fri, Sep 24, 2021 at 10:48:06PM +0300, Andrey Savchenko wrote:
> >>> On Fri, 24 Sep 2021 21:29:36 +0300 Dmitry V. Levin wrote:
> >>>> On Fri, Sep 24, 2021 at 08:04:59PM +0300, Andrey Savchenko wrote:
> >>>>> On Fri, 24 Sep 2021 18:18:04 +0300 Dmitry V. Levin wrote:
> >>>>>> On Fri, Sep 24, 2021 at 08:48:12AM +0300, Anton Farygin wrote:
> >>>>>>> Да, Илья.
> >>>>>>>
> >>>>>>> Есть ещё вот такая статья годичной давности:
> >>>>>>> https://johnysswlab.com/link-time-optimizations-new-way-to-do-compiler-optimizations/
> >>>>>>>
> >>>>>>> и там интересная заметка про ffmpeg, в которой говорится о том, что
> >>>>>>> выигрыш в сборке с LTO может быть нулевым.
> >>>>>> Особенно если в случае LTO ещё и выключить в пакете часть ассемблерных
> >>>>>> оптимизаций.
> >>>>> Если ты внимательно читал статью, то там и в тесте без LTO они
> >>>>> оставались выключенными. А вообще, тот факт, что ради LTO
> >>>>> приходится отключать сильные оптимизации
> >>>> Не надо ради LTO отключать сильные оптимизации.
> >>>> Странно, что в ffmpeg так сделали.
> >>> Пожалуйста, прочитай внимательно исходную ссылку. Не разработчики
> >>> ffmpeg так сделали, а автор теста выключил asm, чтоб можно было
> >>> сравнить ffmpeg с lto и без lto в чистом виде.
> >> Я про то, что именно разработчики ffmpeg для включения LTO почему-то
> >> выключают часть ассемблерной оптимизации.
> > Потому что gcc неспособен скомпилировать все ассемблерные
> > оптимизации вместе с LTO. Но, как мы уже выяснили, разработчиков
> > gcc это не особо волнует.
> >
> ну это же прямо первой ссылкой гуглится:
> 
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57703

Гуглить ничего не нужно: я изначально про этот баг и говорю, он
даже упомянут на нашей вики. Как мы видим из этого бага, за более
чем 7 лет (семь, Карл!) разработчики gcc не почесались проблему
исправить. Мало того, она даже никому не назначена:
Assignee:	Not yet assigned to anyone

Что красноречиво говорит об уровне поддержки LTO в gcc.

-O3 лучше поддерживается (без шуток), давайте на него перейдём —
пользы больше будет, по крайней мере на 64-битных архитектурах.

Best regards,
Andrew Savchenko
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 833 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20210925/05a746e2/attachment.bin>


Подробная информация о списке рассылки Devel