Russian Qt Forum
Май 19, 2024, 12:41 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Долгая генерация кода проекта с qwt  (Прочитано 5284 раз)
Omnius
Гость
« : Июль 01, 2009, 17:12 »

Приветствую всех. При использовании qwt в качестве статической библиотеки скорость генерации кода в приложениях увеличилась в несколько раз... В случае с dll все было гораздо быстрее... Вопрос: как можно ускорить процесс?
Неохото ждать по 15 минут.
Записан
Rcus
Гость
« Ответ #1 : Июль 01, 2009, 18:56 »

Хм. Я всегда думал что фаза генерации машинного кода не зависит от типа компоновки, ибо предшествует фазе компоновки, а вся передача данных между фазами ограничена объектными файлами.

Если же речь идет о процессе компоновки, то для начала расскажите какие вы инструменты используете, возможно найдутся люди которые сталкивались с данной проблемой в контексте другой библиотеки, но с такими же инструментами.
Записан
Omnius
Гость
« Ответ #2 : Июль 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.
Записан
Barmaglodd
Гость
« Ответ #3 : Июль 02, 2009, 07:42 »

У вас установлен флаг /LTCG, т.е. происходит оптимизация кода всей программы.

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

Собирайте без этого флага, будет быстрее, но потеряете некоторые оптимизации. С Dll естественно быстрее, т.к. там lib файл только с заголовками функций, а не с полной реализацией qwt.
Записан
Barmaglodd
Гость
« Ответ #4 : Июль 02, 2009, 07:46 »

Я в дебаге без /LTCG собираю, а в релизе - с ним.

ЗЫ Вроде уже была такая тема на форуме.
Записан
mozgofil
Гость
« Ответ #5 : Июль 08, 2009, 20:54 »

Приветствую всех. При использовании qwt в качестве статической библиотеки скорость генерации кода в приложениях увеличилась в несколько раз... В случае с dll все было гораздо быстрее... Вопрос: как можно ускорить процесс?
Неохото ждать по 15 минут.
А как насчёт precompiled headers?
Записан
Omnius
Гость
« Ответ #6 : Июль 11, 2009, 09:09 »

Всем спасибо. Разобрался. Проблема была в кривой qwt... Поставил и собрал другую версию - все стало мухой компилиться...
« Последнее редактирование: Июль 11, 2009, 09:13 от Omnius » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.045 секунд. Запросов: 18.