CppCon 2017: Matt Kulukundis “Designing a Fast, Efficient, Cache-friendly Hash Table, Step by Step”
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at:
—
Hash tables consume a large volume of both compute resources and memory across Google’s production system. The design for hash tables in C traces its origins to the SGI STL implementation from 20 years ago. Over these years, computer architecture and performance has changed dramatically and we need to evolve this fundamental data structure to follow those changes. This talk describes the process of design and optimization that starts with std::unordered_map and ends with a new design we call “SwissTable“, a 2-level N-way associative hash table. Our implementation of this new design gets 2-3x better performance with significant memory reductions (compared to unordered_map) and is being broadly deployed across Google.
—
Matt Kulukundis: Google, Senior Software Engineer
Matt is a senior software engineer on the C libraries t
1 view
365
102
1 year ago 01:29:16 1
Delivering Safe C++ - Bjarne Stroustrup - CppCon 2023
2 years ago 00:59:34 1
CppCon 2017: Matt Kulukundis “Designing a Fast, Efficient, Cache-friendly Hash Table, Step by Step”
3 years ago 01:47:45 1
CppCon 2017: Herb Sutter “Meta: Thoughts on generative C++”
3 years ago 01:03:40 1
CppCon 2017: Bob Steagall “How to Write a Custom Allocator”
4 years ago 01:02:28 1
CppCon 2017: James McNellis “Everything You Ever Wanted to Know about DLLs”
4 years ago 01:14:22 5
CppCon 2017: Fedor Pikus “C++ atomics, from basic to advanced. What do they really do?”
4 years ago 00:54:33 1
CppCon 2017: Nicolas Guillemot “Design Patterns for Low-Level Real-Time Rendering”
6 years ago 00:52:01 1
CppCon 2017: Louis Brandy “Curiously Recurring C++ Bugs at Facebook”
6 years ago 00:03:13 5
CppCon 2017: Dietmar Kühl “The End of std::endl”
6 years ago 01:06:46 13
CppCon 2017: Hartmut Kaiser “The Asynchronous C++ Parallel Programming Model”
6 years ago 01:31:14 1
CppCon 2017: Titus Winters “C++ as a “Live at Head“ Language”
6 years ago 01:38:41 1
CppCon 2017: Bjarne Stroustrup “Learning and Teaching Modern C++”
7 years ago 01:00:49 1
CppCon 2017: Jason Turner “Practical C++17”
7 years ago 01:00:45 21
CppCon 2017: Andrew Sutton “Meta”
7 years ago 01:10:15 16
CppCon 2017: “C++17 ParallelSTL: A Standardization Experience Report for CPU and GPU on SYCL”
7 years ago 01:08:04 19
CppCon 2017: Louis Dionne “Runtime Polymorphism: Back to the Basics”
7 years ago 00:54:26 15
CppCon 2017: Bryce Adelstein Lelbach “C++17 Features (part 2 of 2)”
7 years ago 00:49:00 150
CppCon 2017: Bryce Adelstein Lelbach “C++17 Features (part 1 of 2)”
7 years ago 00:04:49 23
CppCon 2017: Nicolas Fleury “Introduction to Sharpmake”
7 years ago 00:58:18 9
CppCon 2017: Alfred Bratterud “Deconstructing the OS: The devil’s In the side effects”
7 years ago 00:51:08 18
CppCon 2017: Billy Baker “Almost Unlimited Modern C++ in Kernel-Mode Applications”
7 years ago 00:55:33 30
CppCon 2017: Scott Wardle “ EA’s Secret Weapon: Packages and Modules”
7 years ago 01:00:35 71
CppCon 2017: J. McNellis, J. Mola, K. Sykes “Time Travel Debugging...”
7 years ago 00:40:54 1
CppCon 2017: Ingve Vormestrand “Tools and Techniques To Stay Up-to-date With Modern C++”