Loading…
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

Log in to save this to your schedule, view media, leave feedback and see who's attending!

Share Modal

Share this link via

Or copy link