Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 14.08.2014, 14:07
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

Сообщение от kobezzza
никогда не делай бенчмарки через консоль отладчика, т.к. он отключает использование JIT компилятора и результат замеров может значительно отличаться
сделал без консоли

результат почти тот же в Хроме, FF

var timeStart,
	i,
	maxItems = 1e6,
	arr = [],
	needKey = 500137, // где-то в середине
	myArr;

// генерим массив
for (i = 0; i < maxItems; i += 1) {
  arr.push({key: i, label: i + ''});
}

// test filter
timeStart = +(new Date());
myArr = arr.filter(function (item) {
  return (item.key === needKey);
});

alert('filter ms: ' + (new Date() - timeStart));

// test цикл
myArr = [];
timeStart = +(new Date());

for (i = 0; i < arr.length; i += 1) {
   if (arr[i].key === needKey) {
	  myArr.push(arr[i]);
	  break;
   }
}

alert('for ms: ' + (new Date() - timeStart));
Ответить с цитированием
  #22 (permalink)  
Старый 14.08.2014, 14:16
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
А подключать либу на 17кб просто чтобы не париться - неохота)
Во первых из коробки есть аж 3 сборки, и одна из них весит 9кб и включает только итераторы. Во вторых очень просто делать свои сборки и обо всём этом написано в доке.

Цитата:
Ну это потому что ты написал эту либу)))
Я юзаю много либ, просто эта написана мной, но это не суть, я просто привёл как пример.
__________________
kobezzza
code monkey
Ответить с цитированием
  #23 (permalink)  
Старый 14.08.2014, 14:16
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

Pavel M.,
Ваш тест алгоритмически не верен. Фильт проходит весь массив а фор - часть. Хотите такой тест сравнивайте с some
Ответить с цитированием
  #24 (permalink)  
Старый 14.08.2014, 14:18
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
результат почти тот же в Хроме, FF
Иногда мне кажется, что меня не слушают...

Цитата:
т.к. он отключает использование JIT компилятора и результат замеров может значительно отличаться.
т.е. чем сложнее пример, тем выше может быть разница.
__________________
kobezzza
code monkey
Ответить с цитированием
  #25 (permalink)  
Старый 14.08.2014, 14:59
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

Сообщение от tsigel
Ваш тест алгоритмически не верен. Фильт проходит весь массив а фор - часть.
пробовал и for крутить до конца - все равно for получается быстрее в популярных современных браузерах
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск объектов в массиве Lynatik Общие вопросы Javascript 24 22.06.2013 12:43
Профессиональный поиск по массиву RazZzeR Элементы интерфейса 14 10.06.2012 13:07
Поиск по многомерному массиву Ultimatum Общие вопросы Javascript 12 20.11.2011 14:53
поиск по массиву zebulun Общие вопросы Javascript 4 02.09.2011 02:09
Быстрый поиск объектов Shasoft Общие вопросы Javascript 7 30.07.2009 05:28