Re[12]: а давайте напишем новый asio !
От: so5team https://stiffstream.com
Дата: 07.11.25 12:08
Оценка:
Здравствуйте, Великий Мессия, Вы писали:

S>>А что именно в них бомбезное?


ВМ>если не брать базовые вещи типа скорость компиляции


Ну почему же не брать. Это же одна из киллер фич, под флагом которой это сраное говно в стандарт подтаскивали.
И какой результат по скорости?

Вот у меня есть возможность сравнить скорость компиляции относительно небольшого C++ного проекта на 100KLOC не считая зависимостей (а в зависимостях там и Boost, и Asio, и Folly, и Glaze).
На старом ноутбуке 2019-го года с i7-8550U и относительно новом на Ryzen 7 8845H 2024-го.
На Ryzen проект собирается в четыре раза быстрее.

Без модулей и вообще какой либо переделки кодовой базы.
Тупо рост скоростей CPU, RAM и SSD дало прирост в разы за пять лет.
Те самые пять лет, что хитровывернутые модули, придуманные инопланетянами с Нибиру, есть в стандарте, но все никак не могут быть нормально реализованными во всей большой тройке компиляторов. За пять, мать его, лет, Карл!

В том числе прирост скорости обеспечивается и возможностью запустить компиляцию не в четыре потока, как на i7-8550U, а восемь.
А еще через пару тройку лет можно будет запускать и в 16 потоков на обычных офисных ноутбуках, даже не игровых. Не говоря уже про десктопы с полноценными процессорами.
А лет через пять -- и в 32 потока.

И все это без переделки кодовых баз, которым уже не по одному десятку лет.

Причем, что важно, код в стиле "Си с классами" сейчас компилируется просто влет, меньше секунды на .cpp файл.
А вот код в стиле современного C++ с трех-четырех этажными шаблонами, Boost-ом, Folly и вот этим вот всем, как компилировался десятки секунд, так и компилируется. Причем по показаниям от GCC/clang-а на парсинг заголовочных файлов там уходит, максимум, 1/3 общего времени. Максимум. Все остальное -- это инстанциирование шаблонов и их оптимизация. Т.е. то, что в таком же виде останется и с модулями.
Т.е. даже если эту 1/3 времени сократят, скажем, раза в три, то вместо 30 секунд на компиляцию одного .cpp-файла со сложными шаблонами внутри, у меня будет уходить 22 секунды. Может быть даже 20.

Ну ахринеть выигрыш. Платить за который нужно будет тем, что рано или поздно мне лично придется переводить под модули десятки (если не сотни) тысяч строк кода. Только и остается, что поклониться в ноги и сказать комитету большое спасибо, удружили так удружили.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.