[devel] I: gcc 11.2.1 && binutils 2.37
Anton Farygin
rider на basealt.ru
Сб Сен 25 11:35:33 MSK 2021
On 24.09.2021 21:29, 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 для LTO звучит вот так:
/* When direct symbol references are used in code passed to a
compiler that does not support them
* then these references need to be converted to named asm
constraints instead.
* Instead of returning a direct symbol MANGLE now returns a named
constraint for that specific symbol.
* In order for this to work there must also be a corresponding
entry in the asm-interface. To add this
* entry use the macro NAMED_CONSTRAINTS() and pass in a list of
each symbol reference used in the
* corresponding block of code. (e.g.
NAMED_CONSTRAINTS(var1,var2,var3) where var1 is the first symbol etc. ).
* If there are already existing constraints then use
NAMED_CONSTRAINTS_ADD to add to the existing constraint list.
*/
Сложно оценить, какая деградация производительности будет в этом месте,
но то что она будет - это 100%.
>
> Вообще статья действительно старая в том смысле, что оперирует старыми
> версиями: gcc8 отстаёт от gcc11 на 3 года. Гораздо интереснее было бы
> увидеть результаты по текущей версии.
Да, мне тоже было бы интересно это увидеть. Если найду время - посмотрю.
Подробная информация о списке рассылки Devel