Bug 22797 - Dramatic g++4.4 compile speed regression with -g option
Summary: Dramatic g++4.4 compile speed regression with -g option
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: gcc4.4-c++ (show other bugs)
Version: unstable
Hardware: all Linux
: P3 major
Assignee: Kirill A. Shutemov
QA Contact: qa-sisyphus
URL: http://lists.altlinux.org/pipermail/d...
Keywords:
Depends on:
Blocks:
 
Reported: 2010-01-20 18:28 MSK by Victor Forsyuk
Modified: 2010-01-23 02:37 MSK (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Victor Forsyuk 2010-01-20 18:28:36 MSK
При компиляции исходного кода fwbuilder наблюдается значительное замедление компиляции c++ кода при добавлении в строку вызова компилятора опции "-g": общее время сборки пакета вырастает с 8 с копейками минут до более 2 часов.

Проблема не возникает на текущей сборке gcc4.3: 4.3.2-alt14.

Кроме того, судя по последнему отчету об успешной сборке пакета fwbuilder проблемы еще не было на текущей на тот момент (28 сентября 2009г) сборке gcc4.4: 4.4.1-alt1.
Comment 1 Victor Forsyuk 2010-01-21 19:53:03 MSK
Дополнительная информация (уже была в рассылке, тут повторяется для полноты и самодостаточности багрепорта):

- Проблема возникает при наличии в вызове компилятора опции "-g" и при этом отсутствии "-fomit-frame-pointer". Т.е., добавление "-fomit-frame-pointer" позволяет избежать замедления компиляции даже при наличии "-g".

- В среде Fedora Core 12 компиляция fwbuilder происходит нормально при том наборе опций, который вызывает проблему у нас: наличие "-g" + отсутствие "-fomit-frame-pointer".
Comment 2 Kirill A. Shutemov 2010-01-22 13:55:34 MSK
Судя по changelog'у gcc из федоры, это исправлено в 4.4.2-25. Я сегодня постараюсь сделать сборку основанную на 4.4.3-1.
Comment 3 Kirill A. Shutemov 2010-01-22 16:31:48 MSK
Синхронизированный с 4.4.3-1 gcc собирает wizard.cpp из q4wine за приемлимое время, но с ворнингом:

In file included from /usr/src/RPM/BUILD/q4wine-0.115/src/q4wine-gui/wizard.h:25,
                 from /usr/src/RPM/BUILD/q4wine-0.115/src/q4wine-ui/wizard.cpp:20:
/usr/src/RPM/BUILD/q4wine-0.115/BUILD/ui_Wizard.h: In member function 'void Ui_Wizard::setupUi(QDialog*)':
/usr/src/RPM/BUILD/q4wine-0.115/BUILD/ui_Wizard.h:446: note: variable tracking size limit exceeded with debug insns, retrying without

Вообщем, нагенерённый ui_Wizard.h ужасен.
Comment 4 Kirill A. Shutemov 2010-01-22 16:39:56 MSK
gcc-4.4.3-alt1 ушёл на сборку. task #19000
Comment 5 Dmitry V. Levin 2010-01-23 02:37:58 MSK
На i586 fwbuilder-3.0.7-alt1 собрался за 18 минут (в один поток), даже без "size limit exceeded with debug insns".