[GCC] Precompiled headers

Serab

Кто-нибудь пользуется сабжем? Есть реальные данные, сильно ли это ускоряет сборку? Что-то я попробовал на одном проектике, вроде бы замедление на процентов 10-15. Может что-то я делаю не так?
Дополнительные зацепки для команды телепатов: это все на виртуалке, ей выдано где-то 300 Мб памяти. Оба ядра ей предоставлены. Компилируется правда в один поток.
В принципе хедер этот, который я предкомпилирую, довольно увесист, могу точно даже сказать число строк после раскрытия.

Serab

Да, вот, cpp выдает 19951 строчку. Вроде бы немало :crazy: И это должно давать вклад пропорционально количеству файлов в сборке, а их там ну пару сотен заведомо наберется.

procenkotanya

19951
это очень мало. по моим представлениям, основной юз кейс pch это ситуации типа #include <win32.h>, когда программистам предлагается через инклуды засасывать почти весь sdk
и по существу, pch в gcc мало кто пользуется, никто не поддерживает, и пользоваться я бы не рекомендовал, ибо ничего не даёт и может внезапно сломаться
edit: 10-15% это конечно очень большое замедление, такого не должно быть. можешь сделать точные замеры с -ftime-report?

vall

в samba используют, у них там тоже принято всосать одним хедером всё что есть, но это не с++
интересный вопрос используют ли его в kde

Serab

это очень мало.
Ну он заведомо в несколько/много раз больше подавляющего большинства исходников. Ну, в принципе да, глупо наверное ожидать близкой к линейной зависимости тут :crazy:

procenkotanya

в samba используют, у них там тоже принято всосать одним хедером всё что есть, но это не с++
странно, они же используют ccache, а pch и ccache плохо сочетаются. маниаки.

Serab

Хм, мне всегда казалось, что это Я использую ccache :grin:

procenkotanya

я к тому, что разработчики samba сделали и используют ccache для сборки. и distcc, оказывается, тоже их рук дело, не знал. но блин! pch с distcc сочетается же ещё хуже, чем c ccache. дважды маниаки. нет бы выкинуть часть кода, ускоряют процесс сборки разными способами ;)

vall

ну дык, экспериментируют.
я вот тоже только недавно набрёл на -fdirectives-only — +20% к криту =)

doublemother

Для Qt, только недавно знакомые радовались, pch дают до +30% скорости.
Оставить комментарий
Имя или ник:
Комментарий: