Russian Qt Forum

Qt => Дополнительные компоненты => Тема начата: Omnius от Июль 01, 2009, 17:12



Название: Долгая генерация кода проекта с qwt
Отправлено: Omnius от Июль 01, 2009, 17:12
Приветствую всех. При использовании qwt в качестве статической библиотеки скорость генерации кода в приложениях увеличилась в несколько раз... В случае с dll все было гораздо быстрее... Вопрос: как можно ускорить процесс?
Неохото ждать по 15 минут.


Название: Re: Долгая генерация кода проекта с qwt
Отправлено: Rcus от Июль 01, 2009, 18:56
Хм. Я всегда думал что фаза генерации машинного кода не зависит от типа компоновки, ибо предшествует фазе компоновки, а вся передача данных между фазами ограничена объектными файлами.

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


Название: Re: Долгая генерация кода проекта с qwt
Отправлено: Omnius от Июль 02, 2009, 05:22
cl -c -nologo -Zm200 -Zc:wchar_t- -O2 -MD -GL -W3 -w34100 -w34189 -GR -EHsc -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I"c:\Qt\4.5.1\include\QtCore" -I"c:\Qt\4.5.1\include\QtGui" -I"c:\Qt\4.5.1\include" -I"..\..\src" -I"c:\Qt\4.5.1\include\ActiveQt" -I"moc" -I"." -I"c:\Qt\4.5.1\mkspecs\win32-msvc2005" -Foobj\ @C:\DOCUME~1\Omnius\LOCALS~1\Temp\nm10.tmp
moc_cpuplot.cpp
link /LIBPATH:"c:\Qt\4.5.1\lib" /NOLOGO /INCREMENTAL:NO /LTCG /MANIFEST /MANIFESTFILE:"obj\cpuplot.intermediate.manifest" /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6677rghyrt89fhj' language='*' processorArchitecture='*'" /VERSION:5.20 /OUT:..\..\examples\bin\cpuplot.exe @C:\DOCUME~1\Omnius\LOCALS~1\Temp\nm11.tmp
Generating code
<<  Проходит 10-15 минут  >>
Finished generating code
   mt.exe -nologo -manifest "obj\cpuplot.intermediate.manifest" -outputresource:..\..\examples\bin\cpuplot.exe;1

Впринципе из выше приведенного ясно что я использую, но всетаки скажу:
компилятор от msvc2005.
Qt - 4.5.1.


Название: Re: Долгая генерация кода проекта с qwt
Отправлено: Barmaglodd от Июль 02, 2009, 07:42
У вас установлен флаг /LTCG, т.е. происходит оптимизация кода всей программы.

The /LTCG option tells the linker to call the compiler and perform whole program optimization.

Собирайте без этого флага, будет быстрее, но потеряете некоторые оптимизации. С Dll естественно быстрее, т.к. там lib файл только с заголовками функций, а не с полной реализацией qwt.


Название: Re: Долгая генерация кода проекта с qwt
Отправлено: Barmaglodd от Июль 02, 2009, 07:46
Я в дебаге без /LTCG собираю, а в релизе - с ним.

ЗЫ Вроде уже была такая тема на форуме.


Название: Re: Долгая генерация кода проекта с qwt
Отправлено: mozgofil от Июль 08, 2009, 20:54
Приветствую всех. При использовании qwt в качестве статической библиотеки скорость генерации кода в приложениях увеличилась в несколько раз... В случае с dll все было гораздо быстрее... Вопрос: как можно ускорить процесс?
Неохото ждать по 15 минут.
А как насчёт precompiled headers?


Название: Re: Долгая генерация кода проекта с qwt
Отправлено: Omnius от Июль 11, 2009, 09:09
Всем спасибо. Разобрался. Проблема была в кривой qwt... Поставил и собрал другую версию - все стало мухой компилиться...