Libc++ on Linux - using the example of Oniro
summary
Oniro flips the default STL from libstdc++ to libc++ and builds with clang 14 and bitbake, enabling full LTO across the OS. The build boots immediately, performance is roughly equal with some containers faster (vector/list) and some slower (deque/string), and final binaries are consistently smaller. Qt/KDE Plasma compiles unchanged against libc++. Remaining work: catch up on a few C++20 features, offer size-vs-speed configured builds, a GCC-compatible libc++ shim, and a tiny libc++ subset for Zephyr-style MCUs.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 0:42Why not Libc
- 2:45What is Oniro
- 3:25Why use Libc
- 4:22LTO
- 5:54Bitbake
- 7:13Performance
- 8:05Crossplatform
- 9:07Wishlist
- 11:11Outro
related talks
36muClibc Today: Still Makes Sense
32mOpen Source C/C++ Embedded Toolchains Using LLVM
01h 44mImproving C++ Compilation Times: Tools & Techniques
01h 02mC++20 Concepts
59mHow to Implement the C++ Standard Library (Part 2): An Excursion into libc++
01h 06m“Improving Performance Through Compiler Switches..."
01h 29mWhat Does It Take to Implement the C++ Standard Library?
57mHow To Implement the C++ Standard Library - (Part 1 of 2)
