Improving Pointer-Based Codes Through Cache-Conscious Data Placement