We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Designing Fast and Efficient List-like Data Structures - Yannic Bonenberger - CppCon 2023
Design innovative list-like data structures that leverage contiguous memory to achieve fast and efficient performance, with techniques such as atomic updates, custom allocators, and cache-friendly design.
- List-like data structures can be designed to be fast and efficient by packing elements into contiguous memory.
- Atomically updating pointers to eliminate cache invalidation can improve performance.
- A custom allocator can be used to store elements in contiguous memory, reducing memory overhead.
- A fixed stack can be used to eliminate the need for dynamic memory allocation.
- List structures can be designed to be cache-friendly by using a single array for storage.
- Elements can be accessed in constant time by using a single array and pointer arithmetic.
- A task queue can be implemented using a custom allocator and a thread-safe queue.
- A page list can be used to store elements in contiguous memory, allowing for efficient insertion and removal.
- Cache lines can be used to improve performance by storing multiple elements in a single cache line.
- A custom allocator can be used to store elements in contiguous memory, reducing memory overhead.
- A slot can be used to store elements in contiguous memory, eliminating the need for individual nodes.
- A stimulation queue can be used to store elements in contiguous memory, allowing for efficient insertion and removal.
- A DAG (Directed Acyclic Graph) can be used to store elements in contiguous memory, allowing for efficient insertion and removal.
- A linked list can be used to store elements in contiguous memory, allowing for efficient insertion and removal.
- A stack can be used to store elements in contiguous memory, allowing for efficient insertion and removal.
- A task queue can be used to store tasks in contiguous memory, allowing for efficient execution.
- A DAG can be used to store tasks in contiguous memory, allowing for efficient execution.
- A linked list can be used to store tasks in contiguous memory, allowing for efficient execution.