Итак, я размышлял и читал об оптимизации кэша ЦП (особенно на MIPS R4000-подобном ЦП) и мне интересно, хранится ли переменная for-loop i
в кеше и имеет ли это последствия для каких данных внутри цикл for будет кэширован.
Допустим, у меня есть массив, содержащий данные, которые я хочу зациклить. Данные плотно упакованы и должны хорошо использовать кэш процессора. Будет ли разница в этих двух способах зацикливания этих данных?
- Для цикла с использованием
i
счетчик индекса
- Завершает
null
как последний элемент в массиве
Предполагается, 32-битные; будет ли это означать, что в случае 1 у меня будет 4 байта меньше для использования в кеше, так как это используется счетчиком индекса? Или счетчик будет помещен в регистр или что-то?
Я относительно новичок и необразован в этом вопросе оптимизации, и я думаю, что различные параметры оптимизации для компилятора также повлияют на это. Мне любопытно узнать, есть ли у кого-нибудь какая-либо информация по этому вопросу или я могу указать мне ресурс, который я мог бы прочитать, чтобы ответить на мой вопрос.
Спасибо