Я пытаюсь научиться оптимизации цикла. я обнаружил, что циклическое разбиение помогает ускорить зацикливание массива. Я попытался с двумя блоками кодов, приведенными ниже с и без блокировки цикла и измерить время, необходимое для обоих. Большую часть времени я не обнаружил значительной разницы. Я проверил изменение размера блока, но я не уверен, как выбрать размер блока. Пожалуйста, помогите мне, если мое направление неверно. фактически я обнаружил, что цикл без блока работает быстрее во много раз.
а. С блокировкой
int max = 1000000;
int B = 100;
for (i = 0; i < max; i += B)
{
for (j = i; j < (i + B); j++)
{
array[j] = 0;
}
}
б. Без блокировки
for (i = 0; i < max; i++)
{
array[i] = 0;
}
Время: с блокировкой: истекшее время - 6997000 нано секунд
Без истекшего времени - 6097000 нано секунд