Array Padding
Insert unused space between array elements or groups to control alignment and reduce interference.
11 notes
Insert unused space between array elements or groups to control alignment and reduce interference.
Process multidimensional arrays in small rectangular regions to improve locality.
Process an array in fixed-size blocks to improve cache locality and batch behavior.
Access array elements at regular intervals and understand the effect on locality.
Understand how arrays are stored in memory and how layout affects performance.
Cache-efficient and hardware-tuned search: branchless binary search, Eytzinger and vEB layouts, learned indexes, SIMD search, and galloping intersection.
Sorting beyond main memory: external merge sort, polyphase merge, cache-oblivious techniques, LSM compaction, and database sort phases.
Sorting techniques that achieve good cache behavior without explicitly knowing cache size or block size.
Sorting techniques that explicitly use knowledge of cache size and block size to minimize memory hierarchy cost.
Design hash table layouts that minimize cache misses and align memory access patterns with hardware behavior.
Understand how memory hierarchy effects cause hash table performance to deviate from asymptotic expectations.