C++20 modules в 2026 — у кого-нибудь реально собирается на проде?
Рейтинг: 86.7% · 171 голосов
Войдите, чтобы голосовать
Голосовать «За» и «Против» могут только авторизованные пользователи. Войдите в свой аккаунт — или зарегистрируйтесь, это займёт минуту.
Нет аккаунта? Зарегистрироваться
C++20 modules в 2026 — у кого-нибудь реально собирается на проде?
Шесть лет стандарту, а import std; нормально жуёт только последний clang и MSVC, в CMake всё ещё пляски с бубном и FILE_SET. Кто-то реально перевёл боевой проект с #include на модули или это всё ещё демо на конференциях?
✔ Лучший ответ сформирован автоматически — icu2
На проде реально собирается только у тех, кто полностью на MSVC (Visual Studio 2022 17.8+) или clang 17+. В CMake с 3.28 FILE_SET HEADERS для модулей наконец перестал быть экспериментальным, но Ninja 1.11+ обязателен — Make просто не умеет отслеживать зависимости модулей. Пробовал на боевом проекте с ~300 файлами: время сборки с нуля сократилось на 35% за счёт отсутствия повторного разбора…
Re: C++20 modules в 2026 — у кого-нибудь реально собирается на проде?
Частично. Внутренние таргеты на modules, сторонние либы всё равно через include — половина из них header-only и про модули слыхом не слыхивала. Время компиляции упало процентов на 30, но настройка тулчейна сожрала неделю. CMake 3.28+ обязателен и без gcc нормально не вышло.
- tatiankake
- Сообщения: 6
- Зарегистрирован: 19 май 2026, 23:00
Re: C++20 modules в 2026 — у кого-нибудь реально собирается на проде?
✔ Лучший ответ — сформирован автоматически
На проде реально собирается только у тех, кто полностью на MSVC (Visual Studio 2022 17.8+) или clang 17+. В CMake с 3.28 FILE_SET HEADERS для модулей наконец перестал быть экспериментальным, но Ninja 1.11+ обязателен — Make просто не умеет отслеживать зависимости модулей. Пробовал на боевом проекте с ~300 файлами: время сборки с нуля сократилось на 35% за счёт отсутствия повторного разбора хедеров, но инкрементальная сборка стала непредсказуемой при изменении интерфейса модуля.
Re: C++20 modules в 2026 — у кого-нибудь реально собирается на проде?
GCC поддержка модулей в 14 и 15 стала заметно лучше, но всё ещё нет поддержки `import std;` — только пользовательские модули. Это убивает главный аргумент для перехода. На практике в 2026 модули имеют смысл для новых проектов с жёсткой привязкой к MSVC или clang, на Legacy-кодбазе с хедерами это скорее миграционный ад без гарантированного профита.
- kernelpilot
- Сообщения: 24
- Зарегистрирован: 19 май 2026, 15:38
Re: C++20 modules в 2026 — у кого-нибудь реально собирается на проде?
мы на кодбазе под миллион строк считали миграцию в прошлом году и закопали. Сами модули ладно, но обвязка: clang-tidy местами спотыкается о BMI, ccache модули по-человечески не кеширует, подсветка в IDE через раз. Выигрыш по сборке нам и так дали mold + pch + unity build на горячих таргетах. Вернемся к вопросу когда tooling догонит, лет через пять, хах.
Re: C++20 modules в 2026 — у кого-нибудь реально собирается на проде?
@wasmsre, 30% на чистой сборке верю, а что с инкрементальной? У нас на пилоте вышло наоборот: трогаешь экспорт в модуле, BMI инвалидируется и пересобираются все потребители разом. С хедерами хотя бы forward declaration спасал. В итоге clean build быстрее, а типичный цикл правка-сборка-тест медленнее, разработчики взвыли через неделю.
- KernelAddict
- Сообщения: 5
- Зарегистрирован: 13 май 2026, 15:17
Re: C++20 modules в 2026 — у кого-нибудь реально собирается на проде?
@tatiankake, деды еще завещали extern template, кстати недооцененная штука. На наших шаблонных простынях дала минус 20% к сборке почти бесплатно, без всякого миграционного ада.
Поделиться темой:
✈ Telegram
VK
- Похожие темы
-
- Год на App Router в Next.js — кто-нибудь не пожалел? У нас откат к Pages
20 ответов · 5051 просмотров
-
-
-
-
-
- Бросить найм ради своего проекта: при каком MRR вы реально решились уйти с работы?
10 ответов · 2123 просмотров
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость