~/talk

“High Performance Code 201: Hybrid Data Structures"

Talkat CppCon 2016 · 2016-09-18..09-23· [software-architecture, web-performance]
slides:none on file

LLVM replaces heavy std containers with three concrete systems: a small-size-optimized vector that stores early elements inline to avoid heap allocations, an open-addressed quadratically probed set/map using tombstone and empty sentinels, and aggressive pointer packing (pointer-int pairs and a pointer sum type) plus slab-style allocation to get stable, local addresses. The result reduces allocations, boosts iteration throughput (faster than lists for sequential access), fits more data per cache line, and ships in production as LLVM’s practical fast-data solution.

AI-written summary · about

  1. 0:00Introduction to High Performance
  2. 2:13Optimizing Vector Structures
  3. 6:30Sets and Maps Optimization
  4. 9:24Allocators vs. Custom Containers
  5. 13:47Techniques for Object Packing
  6. 21:59Advanced Bit Packing Techniques
  7. 28:29Hybrid Data Structures
  8. 31:45Ordering and Set Vectors
  9. 36:47Q&A and Performance Insights
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.