Доклады конференции С++ Russia 2020 Moscow

John Lakos Bloomberg LP
John Lakos
Bloomberg LP 
День 2 / 19:00  / Зал 2 / EN /

Introducing large-scale C++, volume I: Process and architecture

Drawing on his over 30 years of hands-on experience building massive, mission-critical enterprise systems, John Lakos — using never-before-seen excerpts from this glisteningly new volume — elucidates the essential value of (and several techniques needed for) creating and growing hierarchical reusable software, a.k.a. Software Capital, as the foundation for developing C++ software at virtually unbounded scale.

Victor Zverovich Facebook
Victor Zverovich
Facebook 
День 4 / 19:00  / Зал 3 / EN /

For your in<format>ion

In this talk Victor will give a comprehensive overview of the the {fmt} library and the C++20 formatting library based on it.

Анастасия Казакова JetBrains
Анастасия Казакова
JetBrains 
День 3 / 10:30  / Зал 4 / RU / Введение в технологию

Экосистема языка C++, новое пришествие

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

Mateusz Pusz EPAM Systems
Mateusz Pusz
EPAM Systems 
День 1 / 12:30  / Зал 2 / EN / Для практикующих инженеров

Rethinking the way we do templates in C++

In this talk Mateusz will summarize his experience and thoughts gathered during the implementation of the Physical Units Library for C++.

Елена Степанова Nokia
Елена Степанова
Nokia 
День 3 / 10:30  / Зал 1 / RU /

Как обновить компилятор и не тронуться

С чем придется столкнуться при обновлении компилятора на примере gcc и как сделать этот процесс менее болезненным.

Guy Davidson Creative Assembly
Guy Davidson
Creative Assembly 
День 3 / 12:30  / Зал 3 / EN /

Teaching linear algebra to C++

In this talk Guy will fully describe the operation of linear algebra classes and functions, and describe how to customize the objects for particular domains.

Роман Русяев Samsung
Роман Русяев
Samsung 
Антон Полухин Яндекс.Такси
Антон Полухин
Яндекс.Такси 
День 1 / 10:30  / Зал 1 / RU /

Настоящее и будущее copy elision

Антон и Роман расскажут о новом предложении в Стандарт — ultimate copy elision, и покажут, как он улучшит жизнь разработчиков на C++.

Adi Shavit Consultant
Adi Shavit
Consultant 
День 1 / 12:30  / Зал 1 / EN / Для практикующих инженеров

Coroutine X-rays and other magical superpowers

In this talk we’ll X-ray the coroutine compiler magic mechanism to lay bare how data flows in and out of coroutines.

Danila Kutenin Google
Danila Kutenin
Google 
День 2 / 17:00  / Зал 2 / EN /

C++ STL best and worst performance features and how to learn from them

During this session Danila will consider the cases when C++ STL is fast and not enough — due to some standard reasons or compiler optimizations.

Алексей Миловидов Яндекс
Алексей Миловидов
Яндекс 
День 3 / 12:30  / Зал 2 / RU /

Как собирать переносимые бинарники для Linux

Софт под Linux часто распространяется собранным под конкретную версию конкретной системы. Вы собрали программу на своей машине, делаете SCP на сервер, но на сервере он не запускается. Как решить эту проблему? Есть множество альтернативных способов и про каждый Алексей расскажет в этом докладе.

Иван Афанасьев Align Technology
Иван Афанасьев
Align Technology 
День 1 / 10:30  / Зал 4 / RU / Для практикующих инженеров

std::to_string faster than light

Рассмотрим различные варианты ускорить std::to_string для целых чисел в libc++: через оптимизацию аллокаций, наивный алгоритм и std::to_chars. Обратим внимание, почему каждый из алгоритмов оказывается лучше предыдущего: пройдём путь от верхнеуровневых оптимизаций до инструкций.

JeanHeyd Meneide Shepherd's Oasis
JeanHeyd Meneide
Shepherd's Oasis 
День 2 / 19:00  / Зал 3 / EN /

Burning Silicon: Speed for transcoding in C++23

Getting speed, customization, and flexibility out of a text interface for C++23.

Jason McGuiness Count-Zero Ltd
Jason McGuiness
Count-Zero Ltd 
День 1 / 12:30  / Зал 3 / EN / Для практикующих инженеров

A detailed performance analysis of a simple low-latency trading system

During this session you will hear about High-Frequency Trading (HFT) and its optimization, including tricks regarding coding and an extensive performance analysis.

Вадим Винник SolarWinds MSP
Вадим Винник
SolarWinds MSP 
День 3 / 10:30  / Зал 3 / RU / Для практикующих инженеров

Три этюда о буферизации

Показано решение трёх задач, взятых из практики, обладающих двумя общими чертами: значения, используемые из различных потоков, передаются через промежуточное хранилище, и решения, которые сделаны универсальными, и допускают настройку на множество частных случаев.

Антон Квятковский Dins
Антон Квятковский
Dins 
День 3 / 10:30  / Зал 2 / RU /

Type loopholes in C++: Убербаг уровня стандарта

Пишем stateful-программы на этапе компиляции и разбираемся, как это работает.

Михаил Кашкаров Samsung R&D Russia
Михаил Кашкаров
Samsung R&D Russia 
День 1 / 12:30  / Зал 4 / RU / Для практикующих инженеров

Применение санитайзеров для полного дистрибутива Linux

В этом докладе вы узнаете об опыте внедрения различных санитайзеров в крупномаштабные Linux-based проекты с последующим сопровождением.

Павел Новиков Align Technology
Павел Новиков
Align Technology 
День 1 / 10:30  / Зал 2 / RU /

Учимся готовить C++ корутины на практике

Павел подробно расскажет о том, как именно работают корутины в C++, и что нужно сделать, чтобы начать просто и эффективно их использовать.

Evgeny Pats Fuzzit
Evgeny Pats
Fuzzit 
День 1 / 10:30  / Зал 3 / EN /

Effective Continuous Fuzzing — C++

This talk will give an introduction how to write basic fuzz tests for your code. As well as how to integrate those fuzz tests into your CI. This talk also will give technical overview of how coverage guided fuzzing engines works in general.

Михаил Матросов Align Technology
Михаил Матросов
Align Technology 
День 3 / 12:30  / Зал 1 / RU /

Как объявить константу в С++?

В докладе мы вспомним всю релевантную теорию: linkage и storage duration, объявление и определение, спецификаторы static, inline, extern и constexpr и их комбинации. Увидим, какие последствия имеет тот или иной способ объявления константы. В итоге мы сформулируем универсальные рекомендации на все случаи жизни.

Руслан Манаев Яндекс
Руслан Манаев
Яндекс 
День 2 / 19:00  / Зал 1 / RU /

Рефлексия настоящего и будущего

Руслан продемонстрирует разницу между статической и динамической рефлексией, а также познакомит нас со синтаксическими конструкциями из предложения в стандарт C++ P1717 и с его реализацией.

Herb Sutter Microsoft
Herb Sutter
Microsoft 
День 4 / 19:00  / Зал 1 / EN /

Q&A with Herb Sutter

Алексей Ткаченко Пеленг
Алексей Ткаченко
Пеленг 
День 4 / 17:00  / Зал 4 / RU / Хардкор. Сложный низкоуровневый доклад, требующий от слушателя знаний технологии.

Имитация регистровых интерфейсов в embedded с помощью аппаратных исключений

Алексей расскажет о некоторых необычных применениях методов защиты, реализованных в MMU, а именно о способах имитации взаимодействия аппаратного обеспечения с центральным процессором через регистровые файлы.

Александр Гранин
Александр Гранин
 
День 4 / 17:00  / Зал 3 / RU / Хардкор. Сложный низкоуровневый доклад, требующий от слушателя знаний технологии.

Как в Haskell: Final Tagless и eDSL на концептах

В этом докладе мы будем имплементировать дизайн-подход из Haskell, известный как Final Tagless. Мы рассмотрим, что это такое, и как можно выразить Final Tagless с помощью концептов. Мы построим простой eDSL на FT и обсудим его свойства.

Юрий Сыровецкий Яндекс
Юрий Сыровецкий
Яндекс 
День 4 / 17:00  / Зал 2 / RU / Для практикующих инженеров

Нечёткое тестирование для чётких программистов

В этом докладе вас ждет разбор случайного тестирования, фаззинг, тестирование свойств, и их применение в KasperskyOS.

Bjarne Stroustrup Morgan Stanley
Bjarne Stroustrup
Morgan Stanley 
День 2 / 17:00  / Зал 1 / EN /

Q&A with Bjarne Stroustrup

Денис Кормалев Amazon Robotics
Денис Кормалев
Amazon Robotics 
День 2 / 17:00  / Зал 4 / RU /

DIY: Thread pool своими руками

В стандартной библиотеке C++ до сих пор нет своего тредпула и не всегда удобно добавлять в проект большие зависимости, как Boost, TBB или Qt, только для возможности асинхронного запуска задач. Этот доклад посвящен созданию своего тред пула шаг за шагом с C++17 в качестве единственной зависимости.

Sergey Nepomnyachiy Bloomberg L.P.
Sergey Nepomnyachiy
Bloomberg L.P. 
День 2 / 17:00  / Зал 3 / EN /

Applying the "hourglass" principle in library design

Presenting a technique for assuring ABI compatibility for a closed-source library across environments and versions.

Алексей Веселовский Align Technology
Алексей Веселовский
Align Technology 
День 2 / 19:00  / Зал 4 / RU /

Анатомия AddressSanitizer

Алексей расскажет о санитайзерах, без которых невозможно представить нынешнюю разработку на C++, и поделится всеми секретами работы с AddressSanitizer.