[GCC] Precompiled headers
Да, вот, cpp выдает 19951 строчку. Вроде бы немало И это должно давать вклад пропорционально количеству файлов в сборке, а их там ну пару сотен заведомо наберется.
19951это очень мало. по моим представлениям, основной юз кейс pch это ситуации типа #include <win32.h>, когда программистам предлагается через инклуды засасывать почти весь sdk
и по существу, pch в gcc мало кто пользуется, никто не поддерживает, и пользоваться я бы не рекомендовал, ибо ничего не даёт и может внезапно сломаться
edit: 10-15% это конечно очень большое замедление, такого не должно быть. можешь сделать точные замеры с -ftime-report?
интересный вопрос используют ли его в kde
это очень мало.Ну он заведомо в несколько/много раз больше подавляющего большинства исходников. Ну, в принципе да, глупо наверное ожидать близкой к линейной зависимости тут
в samba используют, у них там тоже принято всосать одним хедером всё что есть, но это не с++странно, они же используют ccache, а pch и ccache плохо сочетаются. маниаки.
Хм, мне всегда казалось, что это Я использую ccache
я к тому, что разработчики samba сделали и используют ccache для сборки. и distcc, оказывается, тоже их рук дело, не знал. но блин! pch с distcc сочетается же ещё хуже, чем c ccache. дважды маниаки. нет бы выкинуть часть кода, ускоряют процесс сборки разными способами
я вот тоже только недавно набрёл на -fdirectives-only — +20% к криту =)
Для Qt, только недавно знакомые радовались, pch дают до +30% скорости.
Оставить комментарий
Serab
Кто-нибудь пользуется сабжем? Есть реальные данные, сильно ли это ускоряет сборку? Что-то я попробовал на одном проектике, вроде бы замедление на процентов 10-15. Может что-то я делаю не так?Дополнительные зацепки для команды телепатов: это все на виртуалке, ей выдано где-то 300 Мб памяти. Оба ядра ей предоставлены. Компилируется правда в один поток.
В принципе хедер этот, который я предкомпилирую, довольно увесист, могу точно даже сказать число строк после раскрытия.