[devel] Dramatic g++4.4 speed regression (was: g++4.3 vs g++4.4)

Kirill A. Shutemov kirill на shutemov.name
Вт Янв 19 22:33:28 UTC 2010


2010/1/19 Victor Forsyuk <force на altlinux.org>:
> 2010/1/17 Boris Savelev <boris на altlinux.org>:
>> У меня есть пакет q4wine (
>> http://git.altlinux.org/people/boris/packages/q4wine.git ) и у одного
>> файла ( ./src/q4wine-gui/wizard.cpp ) возникает проблема при
>> компиляции в hasher c g++4.4.
>> Проблема заключается в том что процесс
>> /usr/libexec/gcc/i586-alt-linux/4.4.2/cc1plus грузит процессор на 100%
>> но при этом ничего полезного не генерит ('as' которому должно лететь
>> что-то по pipe от cc1plus висит в ожидании на read() по strace). В
>> итоге сборка отваливается по hasher time-out.
>
> Проблема, очевидно, аналогична наблюдаемой при сборке fwbuilder.
> Думаю, что и здесь сборка не зависает и, если дать компилятору
> достаточно времени, когда нибудь завершится.
>
>> При использовании g++4.3 такой проблемы нет.
>
> Да. Регрессия наступила в одной из сборок g++4.4.
>
>> Не знаю что еще добавить, но вроде такая проблема была не только у меня. Что можете
>> посоветовать?
>
> Будем вешать багу на gcc4.4-c++. Тяжелую. Я раздумываю между major и
> blocker. Регрессию можно без преувеличения охарактеризовать как
> катастрофическую.
>
> Вот так собирался fwbuilder 3.0.7 при помощи нашего gcc4.4-c++-4.4.2
> (синхронизированного, кстати, с FedoraCore'вским 4.4.2-20):
> 8378.43user 64.38system 2:08:21elapsed 109%CPU (0avgtext+0avgdata 0maxresident)k
>
> А вот время сборки gcc4.3-c++-4.3.2:
> 964.41user 66.88system 9:19.92elapsed 184%CPU (0avgtext+0avgdata 0maxresident)k
>
> Ничего так регрессия в скорости компиляции - на порядок!
>
> Я общался на эту тему с Вадимом Курляндом (автором fwbuilder). У него
> на Федоре никаких проблем с компиляцией нет (те же 10 минут на сборку
> всей программы). Последняя Fedora на которой он строил - это Fedora
> Core 12. Компилятор там
> "gcc version 4.4.2 20091027 (Red Hat 4.4.2-7) (GCC)".
>
> Первая неудачная пересборка fwbuilder была, по-видимому, 9 ноября. Во
> всяком случае так датирован первый отчет об этом. Обычно такие отчеты
> я не удаляю, но даже если вдруг - в любом случае это был компилятор
> synced with FC 4.4.2-7.
>
> Поскольку у Вадима на федоровском 4.4.2-7 проблем нет, то
> напрашивается вывод, что причина регресии в альтовских патчах...

Я попробую разобраться.

Как hotfix можете добавить -fomit-frame-pointer в флаги компиляции
или убрать -g. Вроде помогает.


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