[devel] I: gcc 11.2.1 && binutils 2.37

Anton Farygin rider на basealt.ru
Сб Сен 25 11:04:40 MSK 2021


On 25.09.2021 01:19, Andrey Savchenko wrote:
> 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-битных архитектурах.

А кто-то запрещает сейчас собирать пакет с -O3 ?




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