3 декабря умножьте ваши планы на ноль, потому что в Санкт-Петербурге пройдет митап для разработчиков на С++. Встречаемся очно и онлайн, чтобы обсудить зануление блока памяти, множественное и виртуальное наследование и тривиальные тейты. После докладов оставайтесь на постерную сессию — интерактивный формат, в рамках которого можно представить свой технический проект и найти единомышленников.
Участие в митапе бесплатное, но обязательно оставьте заявку на сайте. А пока рассмотрим программу встречи поближе.
Цена одного нуля: C++, кеши и логистика памяти
Иван Щербина
ведущий инженер-программист в YADRO
Казалось бы, что может быть проще зануления блока памяти? Начнем с обычного цикла for, попробуем std::fill_n, memset и процессорные интринсики. Затем посмотрим, во что это превращается после компиляции. Проведем несколько экспериментов и разберемся, почему одна и та же операция может различаться по скорости на порядки, какое отношение к этому имеют кеши и почему в современных процессорах скорость вычислений — далеко не все.
Множественное и виртуальное наследование
Константин Владимиров
эксперт по архитектуре в Синтакоре
Анастасия Черникова
инженер-программист в Синтакоре
Какие возможности и сложности добавляет в C++ множественное наследование? С Анастасией и Константином изучим структуру таблиц виртуальных методов и узнаем, что меняет в них виртуальное наследование. Обсудим, как компилятор оптимизирует иерархии классов. В конце ответим на вопрос: «Чего на самом деле стоит этот механизм абстракции?».
Настолько ли тривиальны тривиальные трейты?
Илья Гаврилин
инженер-программист в Синтакоре
В C++ есть десяток трейтов со словом trivially, и кажется, что за ним стоит что-то простое. На деле одни проверяют конкретную операцию, другие — свойства класса целиком, и их ответы часто расходятся с интуицией: тип trivially copyable может быть некопируемым, а is_trivially_relocatable успел попасть в стандарт и был вырезан. Так ли просты тривиальные трейты? Разберемся вместе.
Мы не только делаем мероприятия для разработчиков на С++, но и пишем статьи с опытными инженерами. Что почитать, пока ждете митап:
→ В поисках идеального способа обработки асинхронного I/O на C++
→ Когда Chisel уже недостаточно: создаем свой фреймворк аппаратного тестирования на Verilator
→ Рефлексия в C++26 на примере сериализации и десериализации JSON
Источник: habr.com