Start of main content
2 offline days
May 23–24 10:00–19:30 (UTC+3)
Offline: Red October, Start Hub, Bersenevskaya emb., 6, building 3, Moscow, Russian Federation
Online broadcast
Why It’s Worth Going
- To see old friends. To discuss current problems. To come up with new ideas. To debate and just chat.
Switch the format to offline
To have a change of scenery, to distract and have a good time. To gain fresh impressions and new acquaintances.
Broadcast
There will be a broadcast on the offline part of the conference, which is available to participants with any ticket. If you want to meet and interact with the speakers and other participants live, we are waiting for you at the venue. And if you are not ready to get to the venue, recordings of all the talks and activities will be waiting for you on this website.
See for yourself
Program
The time in the program is for the time zone UTC+3 (Europe/Moscow).
As offline part comes closer, the program may be updated.
May 23
Talk type: Talk
Track 1C++ Tricks from Userver
Anton will talk about new C++ tricks and techniques. You will learn about: LazyPrvalue; ODR violation detection from C++ code; FixedArray; "the funniest
bimap
". The latest trick with "the funniestbimap
" has already been discussed in the C++ Russia conference chat. The talk details both the background and the final results with benchmarks. Ready-to-use code from the talk is already available at https://userver.tech/Anton Polukhin
Company: Yandex Go
Talk type: Talk
Track 1Semantic Processes in C++
The talk describes the interacting semantic processes in C++, both from the point of view of the compiler internals and from the point of view of the language standard.
Konstantin Vladimirov
Company: Syntacore
Talk type: Talk
Track 2nocc, a Distributed C++ Compiler: Like distcc, but Faster
Aleksandr will propose a distributed C++ compiler — nocc. It's like distcc, but faster. It's like ccache, but remote.
Aleksandr Kirsanov
Company: VK
Talk type: Talk
Track 1Software Production through the Eyes of a Developer and Manager
Many of us are engaged in software development, being in a kind of project process. Alexander will talk about the variants of such projects and the role of the developer in these processes. He will touch upon the problem of technical debt: where it comes from and why it doesn't disappear. The talk will discuss what a developer can influence in the production process and what he cannot usually reach. We will definitely consider the peculiarities of C++ development in project activities.
Alexander Bychuk
Company: Kaspersky Lab
Talk type: Talk
Track 2Back to Basics: Lock-free
Marcel will talk about the standard ways of working in multi-threaded environment (mutexes, compare and swap, hazard pointer) and the algorithm of taking a snapshot of two atomic "registers". The talk will be useful for newcomers to multithreading and for experienced developers who want to dust off already rusty knowledge.
Marsel Galimullin
Company: Yandex
Lunch break
Buffet and beverages of your choosing.
Talk type: Talk
Track 1flat_map. Who Needs Them? They're Just Like std::map. We All Have Them
The speaker will compare
flat_map
with existing standard associative containers, look at popular existing implementations offlat_map
and what is proposed to be added to the standard C++ library, and finally share conclusions about what kind offlat_map
we want to have in C++. After the talk, you will have a good understanding of whatflat_map
is and in what situations it should be used.Talk type: Talk
Track 2YsonStruct: Lightweight Serialization for Hierarchical JSON Structures
Yandex presents the library that allows to implement JSON serializable structures in C++. In his talk Ivan will speak about high-level design of the library; technical difficulties in implementation (behavior of virtual methods, linking of template classes, etc.); experience in implementing the library in a large code base; attempts to make a good interface.
Ivan Smirnov
Company: Yandex
Talk type: Talk
Track 3Speeding Up Synthesis: From TensorRT to CUDA C++
A talk about the CUDA C++ tool, which allows you to get the most out of the hardware you use.
Artyom Khoroshev
Company: SberDevices
Talk type: Talk
Track 1Secure C++: Is It Really That Bad?
Not so long ago, the National Security Agency (NSA) published a guide declaring C/C++ "dangerous" and requiring a transition to "safe" C#, Go, Java, Ruby, and Swift. Sergey will analyze this document in detail and tell if the security situation in C++ is really that bad, and what the modern industry offers to solve this issue.
Sergey Talantov
Company: Kaspersky Lab
Talk type: Talk
Track 2How to Write Comparators Correctly
The talk discusses various mistakes when writing comparison functions (comparators) in API like
std::sort
— their consequences and the means of detecting them provided by modern toolchains.
May 24
Talk type: Talk
Track 1Back Deep to Basics: Inheritance and Virtualization in C++
Inheritance, virtual functions, v-tables, virtual inheritance — things that are painfully familiar to every C++ developer. These things directly affect performance, the size of our binaries, and sometimes the security of our code. So let's go back to the beginning and understand the details of this machine. Let's look at what's new in this area and how it works under the hood.
Evgeny Erokhin
Company: Kaspersky Lab
Talk type: Talk
Track 1Performance Optimization Techniques
Maxim will tell you a lot of practical things about performance optimization. What tools are worth using to find places for optimizations. How not to make a mistake when testing performance. How to correctly select and test algorithms and data structures. In the talk there will be a lot of examples from practice.
Talk type: Talk
Track 2LCC Compiler and Code Merge Optimization
Elbrus as an architecture is very different from mainstream processor architectures. As a consequence, it requires some special optimizations from the compiler. Victor will briefly describe the peculiarities of Elbrus and its special optimizations in the LCC compiler. In more detail, he will talk about the code merge optimization: what it is, why it is needed, and how it works.
Viktor Shamparov
Company: MCST
Talk type: Talk
Track 1Roren — C++ Framework for Describing Distributed Computing Pipelines
A huge amount of C++ code in Yandex can be described by the words "distributed computing". The talk is devoted to the C++ framework, which is actively being developed now, inspired by
std::ranges
and Apache Beam libraries. This framework allows rather compact and simple description of such processes and running them in MapReduce mode to process data tables or in real-time mode to process endless streams (queues) of data.Dmitry Ermolov
Company: Yandex
Talk type: Talk
Track 2C++ Experiments: The Battle Continues: Cpp2 vs Carbon
Despite the Committee's work on the new language standards, it seems that some invariants cannot be revised, and activists are working in creating their own languages compatible with C++. You will dive back into the design in order to try to answer the question: why? What is so new proposed and what might be missing in C++?
Alexander Enaldiev
Company: Kaspersky Lab
Lunch break
Buffet and beverages of your choosing.
Talk type: Talk
Track 1B-tree Indexes in Databases Using SQLite and PostgreSQL as Examples
Vladimir will speak about the work of conventional™ indexes in databases and will tell: how the index speeds up the search; whether to index conditions
where
; whether to index conditions inorder by
; whether to indexforeign keys
; what to do if there are several search criteria; in what order to specify columns in the index; when the index is slow and how to reduce the impact of the index on the application.Talk type: Talk
Track 2Кастомизируем ASIO
ASIO allows you to use
std::future
out of the box to handle asynchronous events. But what if you want to use your own implementation offuture
? Ilya will tell and show you how to do it. At the same time, he will talk about customization below, on the example of io_uring.Ilya Kazakov
Company: Yadro
Talk type: Talk
Track 3Bazel Experience
Evgenii will share his experience of using Bazel for two projects. In the first project, he used it as a C++/Python developer. In the second project, at Kaspersky Lab, he's part of the team that migrates the code base from CMake to Bazel. He will talk about the killer features of this build system — its advantages and disadvantages.
Evgenii Oparin
Company: Kaspersky Lab
Talk type: Talk
Track 1Programming Automation in the USSR. Part 2. Translators (60-70s)
A sequel to the talk on programming automation in the USSR. This time we will talk about the Soviet translators created in the 60-70s. The presentation concentrates on simple and actual even today algorithms. The central theme of the talk is the problem of register allocation. What do the developments of the Soviet compiler school and LLVM with SSA and instruction scheduling for modern processors have in common?
Peter Sovietov
Company: RTU MIREA
Discussions
Live conversation with speakers between activities. No recording and no time limit.BoF
Informal conversations without hosts or speakers. This is where new ideas are born.Round tables
Speakers and experts discuss current industry issues.
Bonus
Coffee and lunch breaks
Buffet and beverages of your choosing. If you have food restrictions, write to our support team. We’ll find a solution.Live communication
Informal atmosphere and heart-to-heart talks. Networking for all participants, speakers, and experts.
COVID-19
There will be no COVID restrictions on site visits. You don’t need QR codes or PCR tests to enter the venue.
However, if you’re feeling unwell, it’s best to refrain from going offline. It’s important to take care of yourself and those around you.
You will be able to watch the conference broadcast online, and you can get a refund of the difference in ticket price or exchange your ticket for the next season’s ticket. If you can’t attend the venue, email our support team we’ll help you.
How can I access the conference?
Only a ticket is required to attend the conference. QR codes and PCR tests are not required to enter the venue. However, if you feel unwell, it is better to refrain from going offline. It is important to take care of both yourself and those around you.
What if I have bought an offline ticket? Will I be refunded?
If you get sick and can’t attend the venue, you’ll get your money back if the option of watching the online broadcast doesn’t work for you.
You can connect to the broadcast and watch everything online. To refund the difference between ONLINE and ONLINE + OFFLINE tickets, email our support team: support@cppconf.ru.
What security measures will be on site?
- There will be sanitizers and masks. However, it is not obligatory to wear a mask; it is up to you.
- A qualified medical worker is constantly on duty at the site.
Please send all questions and clarifications to support@cppconf.ru.
FAQ
Where will the offline part of the conference be held?
Offline part will be held on May 23–24 at the following address: Red October, Start Hub: Bersenevskaya emb., 6, building 3, Moscow, Russian Federation.When will the program and time for the offline part of the conference be known?
We begin publishing the program in batches on the conference website one month in advance.What activities will be included on the offline part of the conference?
There will be on the offline part:
- talks;
- roundtables;
- BoF-sessions: meetings of interest without a scheduled schedule;
- discussions with offline and online speakers who will come to the site.
Will there be an online broadcast of the offline part of the conference?
We will broadcast live most of the activities of the offline part: talks, roundtables, etc.
Discussions and BoF-sessions will not be broadcast or recorded.
Offline was so long ago that I no longer remember what the procedure was for offline conferences.
Don’t worry, before the conference we will send you a participant’s memo. It will contain all the necessary information.Can I buy a ticket only for the offline part of the conference?
To attend the offline part, you must purchase an ONLINE + OFFLINE ticket. It entitles you to attend the offline part of the conference and access to the recordings of the online day.How do I get into offline part if I have a ONLINE ticket?
If you already have a ticket for the online part of the conference, you can upgrade it to ONLINE + OFFLINE. To do so, email our support team at support@cppconf.ruHow do I get to the offline part if the company only paid for my ONLINE ticket?
If the company that paid for your ticket is not willing to upgrade to ONLINE + OFFLINE, you can do it yourself at a discount. The discount is given for taking the survey after the online part of the conference ends.Is there a limit to the number of tickets for the offline part?
The number of tickets is limited to the capacity of the conference venue.
So it is better to buy tickets in advance while they are available.
Are there any restrictions on going to an offline conference?
There will be no COVID restrictions on site visits. You don’t need QR codes or PCR tests to enter the venue.
However, if you’re feeling unwell, it’s best to refrain from going offline. It’s important to take care of yourself and those around you.
What will be the case with offline part if a new wave of COVID-19?
So far we haven’t seen an increase in COVID-19 incidence, so we’re cancelling the covid restrictions on offline site visits. Now you don’t need QR codes or PCR tests to get to the site. There will be sanitizers and disposable masks on site. If there is no requirement by the time of the conference, there will be no mandatory masking.
If you are feeling unwell, it is best to refrain from attending offline. It is important to take care of both yourself and those around you.
If the situation worsens and offline events are canceled, we will move the offline part to online. That way, speakers will give their talks remotely or from our studio. Nothing will change for participants with a ONLINE ticket. ONLINE + OFFLINE participants can convert their ticket into a ONLINE ticket with a refund of the price difference, or carry it over to the next year. It will also be possible to return the ticket and get a full refund.
Either way, we will not be postponing the conferences to next year.