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
Conference opening
Olga Zaykova
Head of the Automatic Ad Generation Team Yandex
Alexey Kuznetsov
Head of RnD AI Development VK
12:10
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:10
JSON in C++: serialization
Pavel Novikov
С++-expert
JSON in C++: serialization

A short talk about JSON serialization to chase down last year’s talk about string escaping. We’ll quickly go through escaping as part of serialization, and why UTF-8 validation is there (we’ll remind ourselves about epic fail and drama around escaping in PostgreSQL).

We’ll look at serialization and discuss:

  • ways to traverse elements of a JSON document using recursion;
  • nuance of serializing floating point numbers;
  • reporting errors, and nuances of exception types (in the context of string serialization);
  • serialization of elements of unordered dictionary (associative container) in sorted order. And a bit more.

13:50
Break
14:40
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:30
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:20
Break
17:10
C++20 Modules: practical adoption
Anton Polukhin
Head of the Common Components Development Group Yandex City Services Tech Platform
C++20 Modules: practical adoption
There are quite a few guides out there on how to write a C++20 module for a new project. But what about old ones? Let’s explore how to use C++20 modules in large existing projects while supporting older standards, using Boost, libc++, and libstdc++ as examples.
18:00
Performance Puzzlers
Sergey Slotin
С++-expert
Performance Puzzlers
Interactive challenges on low-level performance: pipeline stalls, branch prediction, execution ports, arithmetic optimization, programming contracts, vectorization, and profilers. Discover how mastering these helps programmers through live demos and hands-on experiments.
18:50
Conference Closing
Olga Zaykova
Head of the Automatic Ad Generation Team Yandex
Alexey Kuznetsov
Head of RnD AI Development VK
19:00
Afterparty
11:00
Locks for lightweight threads
Georgy Osipov
Head of the Courier Product Development Team Yandex Lavka
Anton Kovalenko
Head of the YDB Project Office Yandex
11:10
Vectorization 2025
Andrew Aksyonoff
Head of Search Infrastructure Avito
Vectorization 2025

Abstracts will be here soon.

12:00
Hot and cold memory optimizations in TCMalloc
Alexey Veselovsky
Senior C++ developer Align Technology
Hot and cold memory optimizations in TCMalloc

Google has introduced a relatively new feature in their internal (but publicly available on GitHub) TCMalloc implementation to improve memory access speed: the hot_cold extension for new/malloc.

In this talk, we’ll explore why this feature was developed, how it relates to LLVM’s MemProf functionality, how it works (or doesn’t), how much it can speed up your application, and what to do if TCMalloc isn’t an option but you still want to benefit from this optimization.

12:50
Break
13:40
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.
14:30
Locks for lightweight threads
Vitaly Aksenov
Lecturer University of London
Locks for lightweight threads

Traditional mutexes don’t play well with lightweight threads (fibers, coroutines).

We’ll explore why deadlocks occur, how to resolve them, and how to implement universal locks for userver, Argobots, and boost::fibers.

15:20
Break
15:50
Fast and approximate responses
Artur Soloviev
Team Lead, NDA
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:40
Разработка под GPU: боли, страдания, best practice
Alexander Borgardt
CTО otterstax
GPU Development: Pains, Sufferings, and Best Practices

Identify recurring patterns and issues common to all GPUs

Shift focus toward GPU best practices

Address PCIe bus load balancing for hardware-centric optimization

17:30
Conference Closing
Georgy Osipov
Head of the Courier Product Development Team Yandex Lavka
Anton Kovalenko
Head of the YDB Project Office
17:40
Afterparty
16:50
Conference opening
Pavel Ivantsov
Senior developer Yandex City Services
17:00
Мьютексы для лёгких потоков
Taras Skazhenik
PhD Student at ITMO University, Senior Developer of the Search Platform Ozon
Мьютексы для лёгких потоков

Abstracts will be here soon.

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

Abstracts will be here soon.

18:40
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.

19:30
Afterparty
Olga Zaykova
Head of the Automatic Ad Generation Team Yandex
Olga leads the development of automatic ad generation at Yandex. She has spent the last 5 years making the service faster and more reliable. Olga is developing a system that processes billions of items from all over the Internet and turns them into ads within a day. Using modern C++ and algorithmic optimizations, she managed to combine stream processing of billions of objects on the BigRT framework with heavy GPU computations: the generation uses not only CPU-intensive algorithms, but also heavy YandexGPT neural networks. Olga taught a course on algorithms to first-year students at the HSE University.
Alexey Kuznetsov
Head of RnD AI Development VK
Developer of compilers for various hardware architectures.
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.).
Pavel Novikov
С++-expert
Got an engineering degree in missilery at BMSTU.

Loves C++ and knows how to cook it.

Likes metaprogramming, multithreading and asynchronous programming. Coroutine adoption enthusiast.

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.
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

FAQ

Join us,
it’s going to be interesting!

Mon Jul 28 2025 20:03:08 GMT+0300 (Moscow Standard Time)