ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
* [sisyphus] I: Регрессия производительности в gcc-4.5 при -Os
@ 2010-06-25 21:13 Michael Pozhidaev
  2010-06-25 21:46 ` Igor Zubkov
  2010-06-27  0:28 ` Aleksey Novodvorsky
  0 siblings, 2 replies; 12+ messages in thread
From: Michael Pozhidaev @ 2010-06-25 21:13 UTC (permalink / raw)
  To: sisyphus

Приветствую!

http://www.opennet.ru/opennews/art.shtml?num=27104

В gcc-4.5 при сборке с -Os inline-функции более не разворачиваются в
inline. Первым пожаловалась Mozilla, которая потеряла от 5 до 18
процентов своей скорости. В пакетах, где скорость критична, может стоит
обращать на это внимание в будущем.
-- 
Michael Pozhidaev. Tomsk, Russia. E-mail: msp@altlinux.ru
Russian info page: http://www.marigostra.ru/



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [sisyphus] I: Регрессия производительности в gcc-4.5 при -Os
  2010-06-25 21:13 [sisyphus] I: Регрессия производительности в gcc-4.5 при -Os Michael Pozhidaev
@ 2010-06-25 21:46 ` Igor Zubkov
  2010-06-25 22:06   ` Kirill A. Shutemov
  2010-06-25 22:41   ` Michael Pozhidaev
  2010-06-27  0:28 ` Aleksey Novodvorsky
  1 sibling, 2 replies; 12+ messages in thread
From: Igor Zubkov @ 2010-06-25 21:46 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussions

26 июня 2010 г. 0:13 пользователь Michael Pozhidaev написал:
> В gcc-4.5 при сборке с -Os inline-функции более не разворачиваются в
> inline. Первым пожаловалась Mozilla, которая потеряла от 5 до 18
> процентов своей скорости. В пакетах, где скорость критична, может стоит
> обращать на это внимание в будущем.

http://prometheus.altlinux.org/en/find.shtml?request=gcc

В Сизифе ещё нет gcc 4.5.

-- 
Igor Zubkov
http://hi.im/ice

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [sisyphus] I: Регрессия производительности в gcc-4.5 при -Os
  2010-06-25 21:46 ` Igor Zubkov
@ 2010-06-25 22:06   ` Kirill A. Shutemov
  2010-06-25 22:41   ` Michael Pozhidaev
  1 sibling, 0 replies; 12+ messages in thread
From: Kirill A. Shutemov @ 2010-06-25 22:06 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussions

On Sat, Jun 26, 2010 at 12:46:13AM +0300, Igor Zubkov wrote:
> 26 июня 2010 г. 0:13 пользователь Michael Pozhidaev написал:
> > В gcc-4.5 при сборке с -Os inline-функции более не разворачиваются в
> > inline. Первым пожаловалась Mozilla, которая потеряла от 5 до 18
> > процентов своей скорости. В пакетах, где скорость критична, может стоит
> > обращать на это внимание в будущем.
> 
> http://prometheus.altlinux.org/en/find.shtml?request=gcc
> 
> В Сизифе ещё нет gcc 4.5.

Более того, в Федоре ещё нет gcc 4.5 и не понятно когда будет. Так что и в
Сизифе в обозримом будущем не ожидается.

-- 
 Kirill A. Shutemov


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [sisyphus] I: Регрессия производительности в gcc-4.5 при -Os
  2010-06-25 21:46 ` Igor Zubkov
  2010-06-25 22:06   ` Kirill A. Shutemov
@ 2010-06-25 22:41   ` Michael Pozhidaev
  2010-06-26  0:04     ` Igor Zubkov
  1 sibling, 1 reply; 12+ messages in thread
From: Michael Pozhidaev @ 2010-06-25 22:41 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussions

Hello, Igor Zubkov!

> В Сизифе ещё нет gcc 4.5.

Ну и очень хорошо. Я в курсе. Знать про потенциальные грабли никогда не
вредно. В первом письме и приписал "в будущем".

-- 
Michael Pozhidaev. Tomsk, Russia. E-mail: msp@altlinux.ru
Russian info page: http://www.marigostra.ru/



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [sisyphus] I: Регрессия производительности в gcc-4.5 при -Os
  2010-06-25 22:41   ` Michael Pozhidaev
@ 2010-06-26  0:04     ` Igor Zubkov
  2010-06-26  3:39       ` Денис Смирнов
  0 siblings, 1 reply; 12+ messages in thread
From: Igor Zubkov @ 2010-06-26  0:04 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussions

26 июня 2010 г. 1:41 пользователь Michael Pozhidaev <msp@altlinux.ru> написал:
> Hello, Igor Zubkov!
>
>> В Сизифе ещё нет gcc 4.5.
>
> Ну и очень хорошо. Я в курсе. Знать про потенциальные грабли никогда не
> вредно. В первом письме и приписал "в будущем".

Цитирую: "В ответ на заявление, один из разработчиков GCC подчеркнул,
что среди используемых при сборке Firefox флагов оптимизации ("-fPIC
-fno-rtti -fno-exceptions -Os") присутствует опция "-Os", которая
переводит компилятор в режим оптимизации по размеру исполняемого кода
в ущерб скорости и посоветовал использовать при сборке режим
оптимизации "-O2". Представители Mozilla ответили, что сборка с опцией
"-Os" производится, так как исторически сложилось, что такая сборка
работает быстрее, чем при использовании "-O2" - код получается
существенно меньшего размера (уменьшение до 30%), что приводит к его
ускорению за счет того, что код чаще влазит в кэш процессора."

Итого, все друг друга обозвали дураками.

У нас "-Os" у наших пакетов из Сизифа может быть по двум причинам:
1) так захотел маинтейнер (для этого у него должна быть веская причина)
2) пакет игнорирует сборочные флаги которые ему передаёт rpm (что
являет багом упаковки и должно чиниться)

-- 
Igor Zubkov
http://hi.im/ice

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [sisyphus] I: Регрессия производительности в gcc-4.5 при -Os
  2010-06-26  0:04     ` Igor Zubkov
@ 2010-06-26  3:39       ` Денис Смирнов
  2010-06-26 23:58         ` Igor Zubkov
  0 siblings, 1 reply; 12+ messages in thread
From: Денис Смирнов @ 2010-06-26  3:39 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussions

[-- Attachment #1: Type: text/plain, Size: 723 bytes --]

On Sat, Jun 26, 2010 at 03:04:42AM +0300, Igor Zubkov wrote:


IZ> Итого, все друг друга обозвали дураками.
IZ> У нас "-Os" у наших пакетов из Сизифа может быть по двум причинам:
IZ> 1) так захотел маинтейнер (для этого у него должна быть веская причина)
IZ> 2) пакет игнорирует сборочные флаги которые ему передаёт rpm (что
IZ> являет багом упаковки и должно чиниться)

Однако правы тут в Mozilla -- ибо код с -Os действительно работает быстрее
чем с -O2.

Думаю если в gcc эту багофичу не исправят -- то при сборке 4.5 лучше бы ее
исправить у нас. А сборка с -O2 -- это плохо :)

-- 
С уважением, Денис

http://mithraen.ru/
----------------------------------------------------------------------------

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [sisyphus] I: Регрессия производительности в gcc-4.5 при -Os
  2010-06-26  3:39       ` Денис Смирнов
@ 2010-06-26 23:58         ` Igor Zubkov
  2010-06-29  3:39           ` Денис Смирнов
  0 siblings, 1 reply; 12+ messages in thread
From: Igor Zubkov @ 2010-06-26 23:58 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussions

26 июня 2010 г. 6:39 пользователь Денис Смирнов написал:
> On Sat, Jun 26, 2010 at 03:04:42AM +0300, Igor Zubkov wrote:
>
>
> IZ> Итого, все друг друга обозвали дураками.
> IZ> У нас "-Os" у наших пакетов из Сизифа может быть по двум причинам:
> IZ> 1) так захотел маинтейнер (для этого у него должна быть веская причина)
> IZ> 2) пакет игнорирует сборочные флаги которые ему передаёт rpm (что
> IZ> являет багом упаковки и должно чиниться)
>
> Однако правы тут в Mozilla -- ибо код с -Os действительно работает быстрее
> чем с -O2.

Что собственно, не логично. -Os это оптимизация по размеру бинарника.
А то что оно бегало быстрее, просто совпадение.

> Думаю если в gcc эту багофичу не исправят -- то при сборке 4.5 лучше бы ее
> исправить у нас. А сборка с -O2 -- это плохо :)

Тут на LOR пробежало:
В списке рассылки разработчики GCC поясняют, что это связано с новой
логикой разворачивания iniline-вставок при оптимизации -Os: теперь они
разворачиваются только если это приведёт к уменьшению размера
исполняемого файла (ревизии 158278 и 159931).

Логичное изменение.

-- 
Igor Zubkov
http://hi.im/ice

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [sisyphus] I: Регрессия производительности в gcc-4.5 при -Os
  2010-06-25 21:13 [sisyphus] I: Регрессия производительности в gcc-4.5 при -Os Michael Pozhidaev
  2010-06-25 21:46 ` Igor Zubkov
@ 2010-06-27  0:28 ` Aleksey Novodvorsky
  2010-06-27  8:37   ` Alexey Gladkov
  2010-06-27 20:09   ` [sisyphus] [JT] " Michael Shigorin
  1 sibling, 2 replies; 12+ messages in thread
From: Aleksey Novodvorsky @ 2010-06-27  0:28 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussions

26 июня 2010 г. 1:13 пользователь Michael Pozhidaev <msp@altlinux.ru> написал:
> Приветствую!
>
> http://www.opennet.ru/opennews/art.shtml?num=27104
>
> В gcc-4.5 при сборке с -Os inline-функции более не разворачиваются в
> inline. Первым пожаловалась Mozilla, которая потеряла от 5 до 18
> процентов своей скорости. В пакетах, где скорость критична, может стоит
> обращать на это внимание в будущем.

Гляньте в ff  about:buildconfig
У нас, спасибо legion@, -O2.
А если кто-то увеличивает скорость при помощи -Os, то ссзб.

Rgrds, Алексей

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [sisyphus] I: Регрессия производительности в gcc-4.5 при -Os
  2010-06-27  0:28 ` Aleksey Novodvorsky
@ 2010-06-27  8:37   ` Alexey Gladkov
  2010-06-27 20:09   ` [sisyphus] [JT] " Michael Shigorin
  1 sibling, 0 replies; 12+ messages in thread
From: Alexey Gladkov @ 2010-06-27  8:37 UTC (permalink / raw)
  To: sisyphus

27.06.2010 04:28, Aleksey Novodvorsky wrote:
> Гляньте в ff  about:buildconfig
> У нас, спасибо legion@, -O2.
> А если кто-то увеличивает скорость при помощи -Os, то ссзб.

Скажу вам больше, несколько лет назад mozilla, собранная с -Os,
сегфолтилась в неожиданных местах. С тех давних пор я больше не
пробовал собирать с -Os.

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [sisyphus] [JT] Re: I: Регрессия производительности в gcc-4.5 при -Os
  2010-06-27  0:28 ` Aleksey Novodvorsky
  2010-06-27  8:37   ` Alexey Gladkov
@ 2010-06-27 20:09   ` Michael Shigorin
  1 sibling, 0 replies; 12+ messages in thread
From: Michael Shigorin @ 2010-06-27 20:09 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussions

On Sun, Jun 27, 2010 at 04:28:30AM +0400, Aleksey Novodvorsky wrote:
> А если кто-то увеличивает скорость при помощи -Os, то ссзб.

Кэш процессора имеет ограниченный объём и повышенную
производительность относительно RAM.  Если циклы в него
попадают полностью и не особо вымываются, скорость растёт.

Так что не "ссзб", а требуется как минимум тестирование
разных сборок заданной программы на разных объёмах кэшей.

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [sisyphus] I: Регрессия производительности в gcc-4.5 при -Os
  2010-06-26 23:58         ` Igor Zubkov
@ 2010-06-29  3:39           ` Денис Смирнов
  2010-06-29  4:11             ` Ivan A. Melnikov
  0 siblings, 1 reply; 12+ messages in thread
From: Денис Смирнов @ 2010-06-29  3:39 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussions

[-- Attachment #1: Type: text/plain, Size: 567 bytes --]

On Sun, Jun 27, 2010 at 02:58:54AM +0300, Igor Zubkov wrote:

IZ> Что собственно, не логично. -Os это оптимизация по размеру бинарника.
IZ> А то что оно бегало быстрее, просто совпадение.

Ага, только вот -O2 получается быстрее лишь в теории, а на практике -- это
оптимизация "просто шоб было", а старое поведение -Os работало  как
оптимизация по производительности.

Соответственно ключик "оптимизация как старый -Os" -- нужен.

-- 
С уважением, Денис

http://mithraen.ru/
----------------------------------------------------------------------------

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [sisyphus] I: Регрессия производительности в gcc-4.5 при -Os
  2010-06-29  3:39           ` Денис Смирнов
@ 2010-06-29  4:11             ` Ivan A. Melnikov
  0 siblings, 0 replies; 12+ messages in thread
From: Ivan A. Melnikov @ 2010-06-29  4:11 UTC (permalink / raw)
  To: sisyphus

В 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


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2010-06-29  4:11 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-06-25 21:13 [sisyphus] I: Регрессия производительности в gcc-4.5 при -Os Michael Pozhidaev
2010-06-25 21:46 ` Igor Zubkov
2010-06-25 22:06   ` Kirill A. Shutemov
2010-06-25 22:41   ` Michael Pozhidaev
2010-06-26  0:04     ` Igor Zubkov
2010-06-26  3:39       ` Денис Смирнов
2010-06-26 23:58         ` Igor Zubkov
2010-06-29  3:39           ` Денис Смирнов
2010-06-29  4:11             ` Ivan A. Melnikov
2010-06-27  0:28 ` Aleksey Novodvorsky
2010-06-27  8:37   ` Alexey Gladkov
2010-06-27 20:09   ` [sisyphus] [JT] " Michael Shigorin

ALT Linux Sisyphus discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
		sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
	public-inbox-index sisyphus

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sisyphus


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git