Как помочь процессору принять правильное решение, связанное с предварительной загрузкой?
==========================================================================================

 Очень интересует механизм процессоров - предварительная загрузка, но не могу разобратся, как Я могу оптимизировать это в коде.   

Как Я понял этот механизм связан с кэшированием, может нужно правильно структурировать код(самый жирный код (по типам данных) данных наверху, а мелкий внизу?).   

Заранее спасибо. 

 Единственное, что вам нужно помнить - это локальность доступа к данным. Далее вам надо понять, как у вас идет обращение к данным. От этого и надо дальше плясать.Лучше пройтисть по массиву слева-направо, чем прыгать по нему туда-сюда. В идеале у вас все данные плотно-плотно лежат в памяти и вы чистаете их подряд.  

  

Если у вас есть структура, типа координат, где несколько полей всегда используются вместе, то их стоит запихать в массив структур. Если у вас большая структура из которой в разных частях программы нужны лишь несколько полей - то лучше использовать структуру массивов - потому что используемые данные будут более плотно расположены в памяти.  

  

Массивы лучше списков, если вам не надо часто добавлять в/удалять из середины.  

  

Используйте меньшие типы данных, если можете. Обойдитесь без аллокаций, если можете.