On Sat, 25 Sep 2021 11:04:40 +0300 Anton Farygin wrote: > 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 ? Речь про общий переход на уровне репозитория с помощью %optflags rpmbuild. Best regards, Andrew Savchenko