Moscow C++ User Group in Kaspersky

ИТ и интернет 18+

11 декабря приглашаем разработчиков C++ в нашу штаб-квартиру на Водном стадионе. 

Поговорим про будущее метапрограммирования, исключения C++ через призму компиляторных оптимизаций и на примере контейнеров и кастомных аллокаторов мы увидим как можно самостоятельно реализовать часть runtime C++.

После выступлений можно будет пообщаться с докладчиками и другими участниками мероприятия, обменяться опытом и поговорить на профессиональные темы.

Количество мест ограничено, поэтому нужно заранее зарегистрироваться и получить приглашение.


Программа: 
18.30 Регистрация 

19.00 "Bare metal C++" Карина Дорожкина, Kaspersky R&D

Мы настолько привыкли к присутствию runtime в реализациях компиляторов, что попытка запустить простой «Hello, world» на «голом» железе уже может вызвать некоторые проблемы. Цель доклада — показать на практике особенности написания и сборки С++ кода в условиях ограниченных ресурсов и отсутствия C/C++ RTL. На примере контейнеров и кастомных аллокаторов мы увидим, как можно самостоятельно реализовать часть runtime C++. Доклад подразумевает описание практического решения в bare metal среде, которое впоследствии может быть воспроизведено слушателями.

19.45 Перерыв

20.00 "Сериализация в C++ никогда не была проще! Но подождите, это ещё не всё…" Павел Новиков, Align Technology R&D

Предложение P1717 в стандарт C++ предлагает сверхcпособности, не имеющие равных тем, что у нас были прежде, даже в сравнении с наиболее изощренными приемами шаблонного метапрограммирования. Мы приоткроем завесу над этим и узнаем как обуздать эту мощь на примере реализации сериализации. Мы увидим какие возможности предлагает рефлексия, грядущая в скором времени, и как метапрограммирование в C++ качественно значительно изменится в будущем.

20.45 "Исключения C++ через призму компиляторных оптимизаций" Русяев Роман, Samsung R&D

На дворе 21-й век, непроизводительная реализация обработки C++ исключений на основе setjmp/longjmp уже в прошлом. Современные компиляторы, такие как gcc и clang, используют продвинутую реализацию C++ исключений, называемую zero-cost exception handling. Но насколько действительно это zero-cost? Да, мы платим увеличением размера бинарного файла, а также в случае, когда исключение действительно выбрасывается, запуская процесс stack unwinding, вызывая деструкторы для локальных объектов и т.д. Но теряем ли мы производительность, если исключение не выбрасывается? Появляются ли какие-то ограничения на компиляторные оптимизации? В этом докладе дано описание того, каким образом С++ исключения оказывают влияние на компиляторные оптимизации. Какие оптимизации не могут быть применены в случае, если функция может бросить исключения, а какие оптимизации становится труднее применять.

Примеры реализации исключений и компиляторных оптимизаций рассматриваются на базе LLVM.

Доклад преследует цель дать людям понимание, когда делать сборку своего приложения с -fno-exceptions имеет смысл, а когда можно наслаждаться всеми прелестями использования C++ исключений, зная, что их код не значительно потерял в производительности по сравнению с кодом, где исключения отключены.

 

 

 

Партнеры

Поделиться:

1569 дней назад
11 декабря 2019 18:30–21:30

Москва
БЦ "Олимпия Парк", Ленинградское ш. 39Ас2
Показать на карте

Уже есть билет
Восстановить

Поделиться:

Связь с организатором

Напоминаем, что для того чтобы восстановить билет организатору можно не писать.

На этот адрес придёт ответ от организатора.

Подпишитесь на рассылку организатора

Восстановление билета

Введите адрес электронной почты, указанный при регистрации на событие

Обращаем внимание на то, что билеты должны были прийти к вам на почту сразу после покупки.

Возврат билета

Если вы хотите вернуть билеты, вы можете сделать это по ссылке из письма с билетами или оформить запрос организатору в вашем  личном кабинете.

Подробнее о возврате билетов