[sisyphus] I: Регрессия производительности в gcc-4.5 при -Os

Ivan A. Melnikov iv на altlinux.org
Вт Июн 29 04:11:34 UTC 2010


В Tue, 29 Jun 2010 07:39:42 +0400
Денис Смирнов <mithraen на altlinux.ru> пишет:

> On Sun, Jun 27, 2010 at 02:58:54AM +0300, Igor Zubkov wrote:
> 
> IZ> Что собственно, не логично. -Os это оптимизация по размеру
> IZ> бинарника. А то что оно бегало быстрее, просто совпадение.
> 
> Ага, только вот -O2 получается быстрее лишь в теории, а на практике
> -- это оптимизация "просто шоб было", а старое поведение -Os
> работало  как оптимизация по производительности.
> 
> Соответственно ключик "оптимизация как старый -Os" -- нужен.
> 

Наверное нужен, однако примерно такое поведение gcc независимо от
наличия такого ключа может быть получено сочетанием -O2 и тщательно *по
результатам профилирования) подобранных ключей -f<whatever>. Имхо,
использование -Os для чего-то, кроме оптимизации по размеру, это
(иногда довольно эффективная) попытка обмануть компилятор. А враньё
компилятору, опять же имхо, всегда не к добру.

P.S. В своё время тестировал несколько собственных программ -- все с
-O2 работали быстрее, чем с -Os. Правда, последний раз столь тщательно
я выбирал опции во времена gcc 4.1.

-- 
WBR,
Ivan A. Melnikov


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