Тема: Collection v4
Показать сообщение отдельно
  #42 (permalink)  
Старый 07.02.2014, 19:23
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от cyber Посмотреть сообщение
да ну нафиг, это уже явное читерство


как твоя реализация, обрабатывает масси быстрее обычного цикла?О_О
Да ну быть такого не может, ладно сделаю нормальные тесты когда будет время...
Моя реализация это и есть цикл: т.е. генерится строка с циклом и подключается как script.

Вот пример такого цикла:
Collection._tmpCycle["1,false,false,true,el > 1,,,,,false,false,false,true,false,true,false,false,false,false"] = function anonymous(data, length, fLength, callback, aFilter, filter, id) {
    var i = -1,
        j = 0,
        el, key, aProto = [];
    var cloneObj, aLength, dLength = data.length - 1;
    cloneObj = data;
    aLength = cloneObj.length;
    for (i = -1; ++i < aLength;) {
        key = i;
        el = cloneObj[i];
        if (el > 1) {
            callback(el);
        }
    }
};


Можно заметить, что в callback передаётся всего один параметр, не передаётся this и не проверяется return false, т.к. в исходном callback этого ничего и нет, а фильтр вообще был проинлайнен (el > 1), отсюда и профит. Сам цикл также написан в читерной форме:

for (i = -1; ++i < aLength;) {
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 07.02.2014 в 19:30.
Ответить с цитированием