циклическая черепица как выбрать размер блока?

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

а. С блокировкой

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 нано секунд

8
задан Leeor 3 December 2013 в 23:13
поделиться