Яндекс.Метрика
    Поиск по тегу

    scope


    Найдено: 1 запись

    Javascript

    Оптимизация JavaScript: Scope, Low level ES vs ES5 Array methods

    Сегодня мы будем тестировать 2 блока кода, выполняющие следующую операцию:
    Дается массив, необходимо выбрать все элементы, степень 2 которых больше 5.

    В синем углу Вариант А: Низкоуровневый код — старый и страшный (поддающийся частичной оптимизации)
    1.    for (i = 0, res = []; i < c; i++) {
    2.        t = a[i];
    3.        if (t >= 2.236067) {
    4.            continue;
    5.        } else {
    6.            res.push(t * t);
    7.        }
    8.    }

    В красном углу Вариант Б: Высокоуровневый код — молодой и красивый (не поддающийся частичной оптимизации)
    1. a.map(function (t) { return t * t}).filter(function (t) { return t > 5});

    Битвы будут происходить на 3 аренах.
    1. AO args — Параметры объекта активации функции.
    2. AO — Локальные переменные объекта активации функции.
    3. Global — Глобальные переменные.