tl;dr:Developers can improve performance of memory intensive applications by designing data structures to mirror the way in which modern memory is stored by (1) arranging layout to minimize reading/writing useless bytes (2) minimize random accesses (3) access elements with predictable stride.