PCH
Если вы используете компилятор который поддерживает precompiled headers, то используйте это сойство во благо себе. Так мне сегодня удалось поднять скорость сборки одной программы с двух с половиной минут до 50 секунд! Причём так как программа находится в стадии активной разработки, в файл pch.h я включил только заголовки от Qt.
Комментарии: 4:
Вначале пасиб за пост - в qt assistant раньше в этот пункт не заглядывал
в файл pch.h я включил только заголовки от Qt.
а есть смысл добавлять туда хэдеры проекта?
из собственного теста (time make):
- без прекомпелированного хэдера:
real 0m22.703s
user 0m17.073s
sys 0m2.172s
- время "самостоятельной" компиляции хэдера (time g++ -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui PCH_Qt.h):
real 0m7.768s
user 0m2.932s
sys 0m0.440s
- время сборки с предварительно самостоятельно созданным предкомпилированным хэдером (вобщем с хэдером из предыдущего теста)
real 0m20.938s
user 0m17.153s
sys 0m1.892s
- время сборки с предварительной компиляцией хэдера "средствами qmake" (в конфиге проекта прописано все как надо):
real 0m20.794s
user 0m10.685s
sys 0m2.132s
- сборка полностью всего проекта за исключением хэдера созданного в предидущем тесте:
real 0m15.988s
user 0m7.040s
sys 0m1.920s
ps вот удалось бы связать cross-mingw-g++ 3.4.5 и qt 4.1.4 =)
ой...
sed @"/*@в файл pch.h я включил только заголовки от Qt@1@
>ps вот удалось бы связать cross-mingw-g++ 3.4.5 и qt 4.1.4 =)
удалось =) результаты тестов (кросс сборка при помощи mingw):
- время сборки с предварительной компиляцией хэдера "средствами qmake":
real 0m29.620s
user 0m10.125s
sys 0m1.956s
- сборка полностью всего проекта за исключением хэдера созданного в предидущем тесте:
real 0m12.819s
user 0m6.512s
sys 0m1.420s
получается что кросс сборка mingw32-g++ 3.4.5 быстрее чем g++ 4.0.2, если не надо пред компилить хэдер =)))
зы Еще раз ОГРОМНОЕ Пасибо
Вообще-то хэдеры проекта имеет добавлять смысл только в том случае, если они редко изменяются. Иначе при каждом изменении в хэдере будет перекомпилироваться gch файл.
Отправить комментарий
Подпишитесь на каналы Комментарии к сообщению [Atom]
<< Главная страница