Что быстрее, если внутри al oop или просто l oop? - PullRequest
0 голосов
/ 26 февраля 2020

Я пытаюсь понять некоторые концепции производительности в коде.

Если есть, например, 2-й логический массив с 5 истинами внутри него,

, если мы хотим изменить все элементы в массиве в ложь, какой код будет быстрее?

число1:

for (i = 0; i < arr.length; i++) {
    for (j = 0; j < arr[0].length; j++) {
        arr[i][j] = false;
    }
}

число2:

for (i = 0; i < arr.length; i++) {
    for (j = 0; j < arr[0].length; j++) {
        if (arr[i][j])        
            arr[i][j] = false;
    }
}

1 Ответ

0 голосов
/ 26 февраля 2020

Вы можете измерить его, используя console.time() и console.timeEnd():

Номер 1:

    console.time('loop');
    for (i = 0; i < arr.length; i++) {
        for (j = 0; j < arr[0].length; j++) {
            arr[i][j] = false;
        }
    }
    console.timeEnd('loop');

l oop: 0.046142578125ms

Номер 2 :

    console.time('loop');
    for (i = 0; i < arr.length; i++) {
        for (j = 0; j < arr[0].length; j++) {
            if (arr[i][j])
            arr[i][j] = false;
        }
    }
    console.timeEnd('loop');

l oop: 0.031982421875ms

Массив, который я использовал, был arr [1] [135] большой и имел 5 значений во втором массиве, которые были истинными.

Как видите, l oop с условием if быстрее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...