Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Задержка для поискового скрипта

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

D1D1D1D

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет!
Есть мощный поисковый скрипт, который ищет по заданному в нем списку на 12 тысяч строк (можно и ещё увеличить). Ускорил его работу за счёт разбиения базы на множество JS-файлов по 250 строк и подключая их через document.write). А вопрос касается увеличения задержки во время ввода запроса, наличие которой, как думается, снизило бы некоторое подвисание, в том числе при увеличении количества строк. То есть, нужна настройка, чтобы код не пытался выдавать результаты немедленно по мере набора.
 
http://rusfolder.net/files/45224412

Всего записей: 1362 | Зарегистр. 05-04-2010 | Отправлено: 01:20 19-08-2016
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
D1D1D1D
может перестанете создавать кучу тем по одному своему скрипту?  
задержка выполняется с помошью функции setTimeout
http://javascript.ru/settimeout

Всего записей: 15024 | Зарегистр. 20-09-2014 | Отправлено: 02:23 19-08-2016
D1D1D1D

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Это совсем другой скрипт, а у того (из другой темы) потолок был — тысяча строк. То есть, в первой теме обсуждался он, вторая содержала вопрос вообще по такого рода скриптам, а эта — рассматривает уже другой скрипт, под другим углом)) И всё-таки, сам я не въеду))

Всего записей: 1362 | Зарегистр. 05-04-2010 | Отправлено: 05:24 19-08-2016
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
D1D1D1D

Цитата:
И всё-таки, сам я не въеду

работает же вроде.
эм.. а не проще все погрузить в виде js массива и уже с ним работать.
размер этого

Цитата:
document.write('<tr><td><a href="#АБАЖУР">АБАЖУР</A></td></tr>');

сократится просто до 'АБАЖУР'
К примеру первый файл можно переписать как  
Подробнее...
и можно сократить еще больше, без кучи этих файлов.
 
более того, даже поиск лучше будет делать по массиву, а не по DOM элементам. и потом уже генерить вывод только того, что нашлось.

Всего записей: 15024 | Зарегистр. 20-09-2014 | Отправлено: 06:13 19-08-2016 | Исправлено: Mavrikii, 08:26 19-08-2016
D1D1D1D

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Большое спасибо за идею с массивом и за timeout — сразу не докумекал)) С массивом производительность заметно повысилась. Сокращать количество разбитых файлов не стал, потому что иначе при запуске (если открывать HTML-файл через "hh.exe", имитируя работу в CHM) может выводится сообщение о чрезмерной работе скрипта, а так — видимо, чем больше фрагментов, тем больше нагрузка распределяется))
 
Ещё подумалось, что для поиска среди подобного объёма хорошо бы настройку начала перебора минимум после ввода трёх букв, — с выводом записи в случае отсутствия результатов (чтоб не думалось :-).

Всего записей: 1362 | Зарегистр. 05-04-2010 | Отправлено: 14:07 19-08-2016 | Исправлено: D1D1D1D, 14:10 19-08-2016
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
D1D1D1D
можно вообще весь массив запихнуть в страницу, а потом делать поиск именно по нему, а не по элементам страницы. и результаты поиска уже выводить в нужном виде (но не через document.write, так как он не работает после загрузки страницы)

Всего записей: 15024 | Зарегистр. 20-09-2014 | Отправлено: 23:43 19-08-2016
D1D1D1D

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
И это даст прирост производительности?

Всего записей: 1362 | Зарегистр. 05-04-2010 | Отправлено: 13:17 20-08-2016
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
D1D1D1D

Цитата:
И это даст прирост производительности?

да

Всего записей: 15024 | Зарегистр. 20-09-2014 | Отправлено: 21:39 20-08-2016
D1D1D1D

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Конечно, интересно. Имеется ли пример подобной реализации, чтобы можно было повторить?

Всего записей: 1362 | Зарегистр. 05-04-2010 | Отправлено: 14:01 21-08-2016
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
D1D1D1D

Цитата:
чтобы можно было повторить

ваш скрипт элементарно переделывается под работу с массивом.

Всего записей: 15024 | Зарегистр. 20-09-2014 | Отправлено: 21:26 22-08-2016
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » Задержка для поискового скрипта


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru