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

Гор Нишанов Microsoft
Гор Нишанов
Microsoft 
День 1 / 10:30  / Зал 1 / RU /

Сопрограммы в С++20. Прошлое, настоящее и будущее

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

John Lakos Bloomberg LP
John Lakos
Bloomberg LP 
День 2 / 17:30  / Зал 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 
День 2 / 18:50  / Зал 1 / 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 
День 1 / 18:30  / Зал 1 / RU /

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

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

Timur Doumler audio++
Timur Doumler
audio++ 
День 1 / 15:30  / Зал 1 / EN /

A standard audio API for C++

In this talk, we will discuss how audio data can be represented in C++ and present a proposal to add a minimal, modern API for audio I/O to the C++ standard library.

Mateusz Pusz EPAM Systems
Mateusz Pusz
EPAM Systems 
День 2 / 11:00  / Зал 1 / 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 
День 2 / 14:15  / Зал 2 / RU /

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

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

Guy Davidson Creative Assembly
Guy Davidson
Creative Assembly 
День 2 / 12:30  / Зал 2 / 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.

Adi Shavit Consultant
Adi Shavit
Consultant 
День 2 / 16:00  / Зал 2 / 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.

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

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

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

Danila Kutenin Google
Danila Kutenin
Google 
День 1 / 13:45  / Зал 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.

Sergey Nepomnyachiy Bloomberg L.P.
Sergey Nepomnyachiy
Bloomberg L.P. 
EN /

Applying the "hourglass" principle in library design

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

Руслан Манаев Яндекс
Руслан Манаев
Яндекс 
RU /

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

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

Михаил Матросов Align Technology
Михаил Матросов
Align Technology 
RU /

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

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

Алексей Веселовский Align Technology
Алексей Веселовский
Align Technology 
День 1 / 17:00  / Зал 3 / RU /

Анатомия AddressSanitizer

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

Антон Квятковский Dins
Антон Квятковский
Dins 
RU /

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

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

Юрий Сыровецкий Лаборатория Касперского
Юрий Сыровецкий
Лаборатория Касперского 
RU /

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

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

Вадим Винник SolarWinds MSP
Вадим Винник
SolarWinds MSP 
RU /

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

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

Алексей Ткаченко Пеленг
Алексей Ткаченко
Пеленг 
День 2 / 14:15  / Зал 3 / RU /

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

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

Jason McGuiness Count-Zero Ltd
Jason McGuiness
Count-Zero Ltd 
День 2 / 16:00  / Зал 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.

Павел Новиков Align Technology
Павел Новиков
Align Technology 
День 1 / 12:00  / Зал 3 / RU /

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

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

Денис Кормалев Amazon Robotics
Денис Кормалев
Amazon Robotics 
День 1 / 15:30  / Зал 3 / RU /

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

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

Иван Афанасьев Align Technology
Иван Афанасьев
Align Technology 
RU /

std::to_string faster than light

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