Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> что быстрее: поиск в массиве, или селектор jQuery 
:(
    Опции темы
Leshak
Дата 14.3.2013, 09:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 19.10.2005

Репутация: нет
Всего: нет



Уважаемые знатоки JavaScript  и  jQuery!

Помогите разобраться с вопросом: что быстрее - поиск перебором массива, или селектор jQuery ?

Исходные условия:  Имеется большой объем (несколько тысяч) однотипных данных
номер (уникальный),  адрес (словесный),  ближайшие станции метро, площадь, цвет и т.д.

изучаю 2 способа реализации поиска:
1 - все описания находятся в массиве, поиск осуществляется перебором и после окончания ввода пользователем - оформляются в блоки и показываются;
2 - все описания указаны в соответствующий атрибутах блоков (изначально -  невидимых)
при задании граничных условий  производим следующее действо
Код

k =  $(".obj_str[adr*='"+adr[i]+"']").length;        // определяем количество совпадений
// ------------  или ---------------
$(".obj_str[adr*='"+adr[i]+"']").addClass('obj_Show');     // ставим метку "показывать" 


В существующем варианте все очень быстро шевелится по второму способу,
но надо переходить на другой вариант загрузки данных и возник этот вопрос.
Пожалуйста помогите сделать правильный выбор.

PM MAIL   Вверх
ksnk
Дата 14.3.2013, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Единственное, но важнейшее преимущество селекторов jQuery - это компактность и интеграция в сам jQuery. Достаточно поинтересоваться исходниками jQuery, чтобы понять, что любой его вызов - тяжелая и сложная операция.

С другой стороны, 
Цитата

В существующем варианте все очень быстро шевелится по второму способу,

внушает оптимизм. Зачем менять что-то, если уже и так неплохо работает?


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Leshak
Дата 14.3.2013, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 19.10.2005

Репутация: нет
Всего: нет



Цитата(ksnk @  14.3.2013,  09:16 Найти цитируемый пост)
Зачем менять что-то, если уже и так неплохо работает? 


Менять придется - существующий вариант имеет неприятные ограничения и требует много памяти. 
Делать заплатки и приблуды - еще больше утежелять конструкцию...


Цитата(ksnk @  14.3.2013,  09:16 Найти цитируемый пост)
Достаточно поинтересоваться исходниками jQuery

К сожалению, я не настолько хорошо владею JavaScript, чтобы понимать исходники...


Цитата(ksnk @  14.3.2013,  09:16 Найти цитируемый пост)
jQuery ...-  любой его вызов - тяжелая и сложная операция.

Но сделаная более качественно, чем выйдет у меня...


PM MAIL   Вверх
Leshak
Дата 18.3.2013, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 19.10.2005

Репутация: нет
Всего: нет



Переделал на поиск в массиве ...
  Такое ощущение, что медленей не стало!
PM MAIL   Вверх
ksnk
Дата 18.3.2013, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Leshak, а польза-то есть?  smile 


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Leshak
Дата 19.3.2013, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 19.10.2005

Репутация: нет
Всего: нет



ksnk - Спасибо!

Цитата(ksnk @  18.3.2013,  11:32 Найти цитируемый пост)
Leshak, а польза-то есть?

Пользы Много!  и я ее постепенно осваиваю smile

Особенно приятным оказалось то, что есть чистые данные! ими проще оперировать! память свободнее!


Это сообщение отредактировал(а) Leshak - 19.3.2013, 14:31
PM MAIL   Вверх
CruorVult
Дата 19.3.2013, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 868
Регистрация: 24.9.2008
Где: г.Киев, Украина

Репутация: 13
Всего: 28



Цитата(Leshak @  14.3.2013,  09:04 Найти цитируемый пост)
Помогите разобраться с вопросом: что быстрее - поиск перебором массива, или селектор jQuery ?


Вперед http://jspeed.yanzigitov.ru/

А вообще мне стало интересно, чем была мотивирована потребность тянуть несколько тысяч данных сразу?
PM MAIL Skype   Вверх
Leshak
Дата 22.3.2013, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 19.10.2005

Репутация: нет
Всего: нет



Цитата(CruorVult @  19.3.2013,  14:44 Найти цитируемый пост)
Вперед http://jspeed.yanzigitov.ru/

А вообще мне стало интересно, чем была мотивирована потребность тянуть несколько тысяч данных сразу? 


За ссылку - Большое Спасибо! 
Буду осваивать!

А вот про потребность - тут сложнее...

Скажем так - а почему бы НЕТ?

Где то сказано, что  2 (и более ) Мб в файлах .css и картинках - это можно
 2Мб данных - это плохо??

я решил попробовать на внутренней(административной задаче) - все работает 
Небольшая заминка (30 - 90 сек) на загрузку, зато потом все работает достаточно быстро, 
а еще есть под рукой куча разных данных для поиска, сортировки и других манипуляций.

Сначала эти данные запрашивал AJAXом,
потом загнал в один файл сразу полную выборку из БД, залил в файл в формате JSON и подгружаю  во первых строчках <META ...>

Может это и ПЛОХО - но я пока не знаю почему...

Может кто-то расскажет?
PM MAIL   Вверх
ksnk
Дата 22.3.2013, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Цитата(Leshak @  22.3.2013,  16:56 Найти цитируемый пост)
Небольшая заминка (30 - 90 сек) на загрузку

На сайте, который нацелен на обычных, праздношатающихся интернет-пользователей такие задержки самоубийственны.
Достаточно представить собственную реакцию на ссылку в поиске гугла, которая открывается больше 30 секунд. Особенно когда рядом еще несколько сотен таких же.
 Нужно обязательно предупреждать людей, что полторы минуты придется подождать и 2 метра скачать. Не всякий юзер согласится ;)
Картинки большие хотя бы не тормозят отображение контента сайта, а вот данные, вероятно, блокируют...

Для админки и специальных людей или для интранета- почему бы и нет. Вот Ext.js с плагинами сам по себе весит 600 кил и никто не жужжит.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1315 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.