hero bg
hero bg

С++ Zero Cost
Conf 2025

Moscow, Saint Petersburg, Belgrade August 2

By Engineers, for Engineers

Practicing C++ developers from leading companies will share their knowledge, present practical talks, and discuss real-world case studies backed by metrics.

 

The conference will take place simultaneously in two countries and three cities. Belgrade and Moscow will offer both onsite and online programs, while St. Petersburg will feature onsite-only program with activities.

Program

12:00
Сбор гостей
12:20
Hardening: current status and development prospects
Roman Rusyaev
Compiler Team Lead Huawei
Yury Gribov
Developer Huawei
Hardening: current status and development prospects

Modern toolchains offer a wide range of tools for identifying errors during the QA (various sanitizers, fuzzing, property-based testing, etc.). However, critical software running in production also needs UB protection. This protection, also known as «hardening», must be comprehensive enough to prevent the most common vulnerabilities while remaining lightweight enough to avoid a significant performance impact. The talk covers the hardening features available in modern toolchains (ASLR, Glibc and STL checks, etc.) and their influence on the evolution of C++.

13:00
The cost of the std::simd abstraction
Vasilii Ramadanov
Senior Software Engineer Yadro
The cost of the std::simd abstraction

Std::simd promises zero-cost vectorization. But how well does this hold up in practice? We’ll examine how std::simd behaves on x86 and ARM architectures, and consider what (if anything) is lost when abstracting away from specific architecture.

13:50
Перерыв на кофе-брейк
14:20
Memory aliasing in the compiler and your program
Konstantin Vladimirov
Lead of Compilers & Tools Syntacore
Vladislav Belov
Software Engineer of Compilers & Tools Syntacore
Memory aliasing in the compiler and your program

We will take a look at strict aliasing, restrict, the optimizations they enable, and some surprising behavioral nuances. We'll also investigate how they affect performance, and the difficulties of supporting them in compilers and the C++ standard.

15:00
What are dependencies, and how are they handled in CMake, Meson, Conan, vcpkg, and other tools?
Alexey Gorgurov
Senior Developer
What are dependencies, and how are they handled in CMake, Meson, Conan, vcpkg, and other tools?

How C++ projects used to link external libraries in the past and how they do it today. We’ll review system dependencies via pkg-config, the magic behind find_package () in CMake, and the dependency () directive in Meson. We’ll also look at how Conan and vcpkg are changing the build approach, and take a glimpse into the future: CPS as a new standard for cross-language dependencies.

16:00
C++20 Модули — практическое внедрение
Anton Polukhin
Head of the Common Components Development Group Yandex City Services Tech Platform
C++20 Модули — практическое внедрение
Abstracts will be here soon.
17:00
Performance Puzzlers
Sergey Slotin
С++-expert
Performance Puzzlers
Abstracts will be here soon.
12:00
Сбор гостей
12:20
Locks for lightweight threads
Vitaly Aksenov
Lecturer, University of London
Locks for lightweight threads

Recently, lightweight threads have gained significant popularity in C++, with libraries such as Userver, Argobots, and Boost:fibers leading the way. However, using traditional concurrency primitives like mutexes or locks with these lightweight threads can pose challenges.

For instance, consider a scenario involving a lock that employs active waiting techniques, such as a test-and-set lock. When a thread yields and suspends while in a critical section, all currently active lightweight threads can attempt to acquire the lock without suspending themselves. This behavior can result in deadlock, as the active threads will never be able to acquire the lock since the suspended thread cannot release it.

Due to these challenges, existing lock implementations need to be updated to function correctly in environments with lightweight threads. In this talk, we will explore various approaches to transforming state-of-the-art locks. These new implementations will support all libraries that utilize lightweight threading capabilities and provide a specific interface. To demonstrate the versatility of our approach, we will present experiments using three lightweight thread libraries: Userver, Argobots, and Boost:fibers.

13:00
Vectorization 2025
Andrew Aksyonoff
Head of Search Infrastructure Avito
Vectorization 2025

Abstracts will be here soon.

13:50
Перерыв на кофе-брейк
14:20
Hot and cold memory optimizations in TCMalloc
Alexey Veselovsky
Senior C++ developer Align Technology
Hot and cold memory optimizations in TCMalloc

Abstracts will be here soon.

15:00
Fast and approximate responses
Artur Soloviev
Team Lead NDA Trading
Fast and approximate responses

The talk covers probabilistic data structures, focusing on how they work and their real-world applications, from bloom filter to hyperloglog. The case studies will include use cases from HFT, deduplication, unique object counting, and latency assessment.

16:00
C++20 vs. C in robots. The battle for resources, abstractions, and safety.
Arsenty Gusev
Sensors and Actuators Team Lead Yandex Robotics
C++20 vs. C in robots. The battle for resources, abstractions, and safety.
What do engineers favor in modern embedded systems: the abstractions of C++ or the control of C? We’ll compare the performance, expressiveness, safety, and limitations, from concepts to the preprocessor.
17:00
Optimizing NVIDIA-oriented Algorithms for AMD
Alexander Borgardt
CTО otterstax
Optimizing NVIDIA-oriented Algorithms for AMD
Abstracts will be here soon.
12:00
Сбор гостей
12:20
Мьютексы для лёгких потоков
Taras Skazhenik
PhD Student at ITMO University, Senior Developer of the Search Platform Ozon
Мьютексы для лёгких потоков

Abstracts will be here soon.

13:00
i, j, k и шаблоны: вспоминаем линейную алгебру
Vania Khodor
Head of the Yandex Lavka Catalog Backend
i, j, k и шаблоны: вспоминаем линейную алгебру

Abstracts will be here soon.

13:50
Перерыв на кофе-брейк
14:20
Verifying concurrent data structures in C++
Kirill Garmanov
Core Infrastructure Developer VK
Ilia Kokorin
Senior Developer in the Database Infrastructure VK
LTest: верификатор конкурентных структур данных на C++

Abstracts will be here soon.

Roman Rusyaev
Compiler Team Lead Huawei
Developer of compilers for various hardware architectures.
Yury Gribov
Developer Huawei
Developer and enthusiast of system software (compilers, runtimes, verification tools, etc.).
Vasilii Ramadanov
Senior Software Engineer YADRO
Vasilii has been developing real-time C++ applications for radio signal processing since 2017. He has experience working for a variety of companies, ranging from near-startups to telecom giants like Nokia, as well as in the automotive sector from his time at Luxoft. Vasilii also gives talks at C++ conferences. He is currently involved in base station development at YADRO.
Konstantin Vladimirov
Lead of Compilers & Tools Syntacore
Konstantin has been working with compilers since 2010. Today, he is developing RISC-V at Syntacore.
Vladislav Belov
Software Engineer of Compilers & Tools Syntacore
Alexey Gorgurov
Senior Developer
Alexey contributes to Open Source, C++ package managers and their package bases, as well as to cmake (for example, he added the cmake_language (EXIT) command). Alexey is also a (co-)author of the stacktrace proposal (in C++23).
Anton Polukhin
Head of the Common Components Development Group, Yandex City Services TechPlatform
Anton is a Russian representative in the International Working Group for C++ Standardization (WG21 ISO). He is the author of numerous accepted proposals for the C++ language standard.

He is also the Chair of the Russian Working Group for C++ Standardization. Anton is developing and maintaining the GCC standard library and Boost libraries. He is the author of the PFR, TypeIndex, DLL and StackTrace Boost libraries, and an active maintainer of Any, Conversion, LexicalCast, and Variant.

Anton is also the author of the Boost C++ Application Development Cookbook.

Sergei Fedorov
C++ Expert
Sergei has been writing in C++ since 1999. He has been involved in projects ranging from the automation of bakeries and crematoria to the development of banking and stock exchange software and game development. Sergei was in charge of the development of Yango warehouse robots. He loves open source and brainteasers.
Sergey Vidyuk
Senior Developer, Yandex Infrastructure
Sergey is engaged in the development of a build system for the Yandex monorepository. He has 10 years of experience in developing mobile mapping applications (NAVITEL, 2GIS). In his hobby time, Sergey develops his future/promise portable_concurrency library.

He loves C++, large acyclic graphs, and hiding mutexes from business logic in multithreaded code.

Alexander Golubev
Head of Infrastructure Development for Performer Assignment Infrastructure, Yandex Delivery
Alexander has over 20 years of experience developing high-load systems and deep expertise in C++. He worked his way up from developer to line manager at top IT companies (Yandex, Kaspersky Lab, VK).
Elizaveta Greim
Backend DevRel, Yandex
Elizaveta has been developing professional communities in Russian and foreign big tech companies for more than 3 years.

She builds communities, arranges events, and coordinates speakers.

Mikhail Borisov
Lead Developer, Yandex
Mikhail has been writing in C++ at Yandex for over 10 years. He has been involved in data processing, highly loaded advertising backends, and device firmware. Currently, Mikhail is working on the backend and infrastructure of devices with Alice. He is interested in compilers and enjoys debugging strange problems.

How to get there

RBC Event Center, Kosmodamianskaya emb., 52, bldg., 7
Serbian Rose Hub, Bulevar vojvode Bojovića, 12
Bar Commode, Nevsky Ave, 47

Join us,
it’s going to be interesting!

Tue Jul 15 2025 10:23:44 GMT+0300 (Moscow Standard Time)