Loading…
Subject: Standard Library clear filter
arrow_back View All Dates
Thursday, September 17
 

14:00 MDT

C++ in the Age of AI: How Visual Studio Is Evolving
Thursday September 17, 2026 14:00 - 15:00 MDT
For almost 30 years, Visual Studio has been a core part of the C++ developer's toolkit on Windows. This year, we're building on that foundation with investments across three themes: making the IDE faster and more responsive for large codebases, advancing compiler conformance and runtime performance, and integrating AI-powered workflows that help you debug, refactor, and optimize more effectively. Beyond the IDE, we'll show you how AI-powered command-line tools can become a natural part of your development process. This session combines demos and practical guidance so you can get the most out of these tools right away. Come with curiosity, leave with new techniques you can apply immediately.

Presenters
avatar for David Li

David Li

Game Developer Product Manager, Microsoft
David Li is the Game Developer Product Manager at Visual Studio with 12 years of experience in the software industry. As a gamer himself, David is especially passionate about enhancing game developer productivity through improving tooling for Visual Studio. In his free time, he enjoys... Read More →
avatar for Augustin Popa

Augustin Popa

Senior Product Manager, Microsoft
I am a product manager on the Microsoft C++ team, working on the Visual Studio IDE and vcpkg, the C/C++ package manager.
Thursday September 17, 2026 14:00 - 15:00 MDT
_6

14:00 MDT

Type Punning: the joke is on you, pun intended. Fixing UB of reinterpret_cast!
Thursday September 17, 2026 14:00 - 15:00 MDT
Many codebases contain several spots of type punning, and unfortunately a whole lot of those are incorrect and undefined behavior. While many current versions of compilers seem to do the correct thing, they might no longer do that tomorrow. Safety considerations wants to reduce/eliminate UB.

It might be worthwhile to inspect your reinterpret_cast constructs, most probably they are wrong. In this talk we will inspect what is wrong about those, we will learn about alignment, strict aliasing, object lifetime. 3 areas which might flag a red card on our type punning constructions.

Luckily the language evolved and gave us more tools to do it correctly, things like memcpy, memmove, bit cast, start lifetime_as, launder. It does however remain a dark corner and a dangerous territory to wander in. Because let's face it, zero copy is something we love in C++, and those bytes that came from the network, really are an array of integers, array of coordinates, ... Compiler, trust me, I know what I am doing. Am I?

Presenters
LD

Lieven de Cock

R&D engeneer, Newtec
Thursday September 17, 2026 14:00 - 15:00 MDT
_4

14:00 MDT

When Zero-Cost Abstractions Aren’t Zero-Cost
Thursday September 17, 2026 14:00 - 15:00 MDT
Zero-cost abstractions are a foundational idea in C++, promising expressive, high-level code without sacrificing performance. However, developers often encounter unexpected costs when using modern abstractions in practice, even when the code appears idiomatic and well-designed.

This talk explores the assumptions behind zero-cost abstractions and examines what happens when those assumptions no longer hold. Through concrete examples drawn from modern C++ — including ranges and views, type erasure, allocators, and other common abstractions — we will examine how factors such as optimizer visibility, inlining boundaries, allocation behavior, and runtime flexibility influence performance.

This talk treats abstraction as a powerful engineering tool, examining the limits of its zero-cost guarantees in real-world systems. We will look at how seemingly small design choices can introduce hidden costs, why those costs are often difficult to spot through inspection alone, and how to recover performance without abandoning good design or readability.

Attendees will leave with a clearer understanding of when abstractions are truly zero-cost, how to recognize situations where they are not, and how to make informed tradeoffs between expressiveness, flexibility, and performance in modern C++.

Presenters
avatar for Steve Sorkin

Steve Sorkin

Senior Software Engineer, Bloomberg
Steve Sorkin has been at Bloomberg since 2019, where he is a senior software engineer. He is enthusiastic about writing clean, scalable, and maintainable code for use in low latency and high throughput applications. Prior to joining Bloomberg, Steve worked as a securities/derivatives... Read More →
Thursday September 17, 2026 14:00 - 15:00 MDT
_1

16:45 MDT

Quicker Than Quick: Using Radix Sort to Make `std::stable_sort` Beat `std::sort`
Thursday September 17, 2026 16:45 - 17:45 MDT
This talk takes you through the research and optimization of radix sort, culminating in its integration into libc++.

You will learn : common pitfalls of radix sort implementations (non-binary digits, dynamic memory allocation, fragile interfaces), how to design a strict and high-performance interface (fixed digit size, external buffer, projection to integers), and how to overcome radix sort's main drawback — its lack of naturalness — with two counter-based optimizations and a hybrid merge scheme.

The result : on arrays of 60 int32 elements (18 for int8), radix sort starts beating std::sort ; on large arrays, it's up to 10x faster. Floating-point types (float/double/float16_t) are also supported via IEEE 754 bit transformations (sign and exponent inversion for negative numbers).

The key takeaway : in modern libc++, for integers and floats, std::stable_sort on random data is noticeably faster than std::sort . Life has become better, but also more complicated — choose your sorting algorithm wisely.

Presenters
DI

Dmitriy Izvolov

C++ Developer
Dmitry Izvolov graduated from MIEM (Moscow Institute of Electronics and Mathematics) with a degree in Applied Mathematics. Since then, he has worked as a programmer across diverse domains: DLP systems, information retrieval, cybersecurity, image processing, and speech synthesis. Currently... Read More →
Thursday September 17, 2026 16:45 - 17:45 MDT
_1
 
Share Modal

Share this link via

Or copy link

Filter sessions
Apply filters to sessions.
Filtered by Date -