Производительность, вероятно, будет лучше для первой функции, потому что данные, к которым осуществляется доступ, располагаются последовательно (или в основном последовательно) в памяти.Это быстрее, потому что выполнение чтения в одной ячейке памяти приведет к тому, что соседние ячейки памяти будут перенесены в кеш, поэтому, когда они читаются, они будут считаны намного быстрее, чем если бы их не было в кеш._ Причина, по которой все должны действительно знать о таких вещах, заключается в том, что разница в производительности может быть очень существенной.Около 5 лет назад я работал над оптимизацией производительности проекта, в котором был код, как во второй функции.Я смог увеличить скорость некоторых циклов примерно в 10 раз при программировании на C, последовательно обращаясь к памяти.