да ну нафиг, это уже явное читерство 
	Цитата: 
	
 Да ну быть такого не может, ладно сделаю нормальные тесты когда будет время...  | 
	
		
 Цитата: 
	
 Вот пример такого цикла: 
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, я кажеться начал понимать как у тебя работает. 
	Ты создаешь функцию, с 2мя вариантами обработки массива и потом ее кешируешь, live я так понял это "живые" коллекции? 
if (live) {
			iFn += 'for (i = -1; ++i < cloneObj.length;) {';
		} else {
			iFn +=
				'aLength = cloneObj.length;' +
				'for (i = -1; ++i < aLength;) {';
		}
но я всеравно не пойму почему этот вариант который используешь ты, быстрее чем 
var leng = arr.length;
		        while(leng--) {
		        	callback(context, arr[leng], leng, arr);
		        }
 | 
	
		
 Цитата: 
	
 Только вариантов обработки может быть очень много и зависит это от входных параметров и типа данных. live значит без кеширования начальной длины для массивов: https://github.com/kobezzza/Collection#opt_live Цитата: 
	
 context, arr[leng], leng, arr, а у меня только когда надо.  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
	
		
 тьфу блин, у меня ошибка в коде была, теперь все норм 
	Цитата: 
	
 
var leng = arr.length;
while(leng--) {
   callback(arr[leng], leng, arr);
}
 | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
 Посмотри сколько параметров поддерживает у меня forEach https://github.com/kobezzza/Collecti...%D 0%BE%D0%B2 В цикле будут только те проверки, которые нужны. В callback передаются только те параметры, которые в ней юзаются (чем больше параметров передаётся, тем ниже скорость). Фильтры могут инлайнится: т.е. тело функции подставляется в цикл, т.е. без вызова функции и т.д.  | 
	
		
 Цитата: 
	
  | 
| Часовой пояс GMT +3, время: 04:44. |