Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 10.08.2014, 15:56
Профессор
Посмотреть профиль Найти все сообщения от newobject
 
Регистрация: 10.07.2014
Сообщений: 145

ixth,
Так поменьше, но все равно тормозит. Думаю, на моих строках сильней оригинала будет тормозить.
У меня есть тут одна мысля. Надо как то сделать, чтобы поиск начиналсмя с таймаутом, а в этом таймауте проверялось не изменился ли за это время инпут. Думаю, надо в этом направлении копать. Потом отпишусь. Пока не делай ничо, а то мне жалко твоего времени, если не получится, тогда будем продолжать
Ответить с цитированием
  #12 (permalink)  
Старый 10.08.2014, 16:22
Аватар для ixth
Профессор
Отправить личное сообщение для ixth Посмотреть профиль Найти все сообщения от ixth
 
Регистрация: 19.01.2010
Сообщений: 354

Ты не поверишь… Мой вариант почти так и делает. Он ждет, когда пользователь закончит ввод и только тогда запускает поиск. Плюс, тебе же не критично, что поиск ведется регуляркой? Можно заменить его на indexOf: http://jsfiddle.net/ainop/g41x6tto/4/

Больше никаких оптимизаций сделать, наверное, нельзя. Я бы перенес все это на сторону сервера и делал запросы через ajax.
Ответить с цитированием
  #13 (permalink)  
Старый 10.08.2014, 17:26
Профессор
Посмотреть профиль Найти все сообщения от newobject
 
Регистрация: 10.07.2014
Сообщений: 145

ixth,
Я изменил search вот так
search=function(the_value){
   var test=function(){return input.value==the_value}
   var out=[]
   var re=new RegExp(the_value, "i")
   for(var i=0; i<base.length; i++){
      if(!test()) break;
      if(base[i].match(re)) {
      base[i]=base[i].replace(/((\d{4} \d{2}-\d{3})|(\d{4} \d{2}-\d{3} \d{1}-\d{2}-\d{2}))$/, "<b>$1</b>")
      out.push(base[i])
   }
 }
return out
}

И один хрен тормозит. Во всех остальных браузерах летает. Может это просто V8 кривой? Или я фигню написал?
Ответить с цитированием
  #14 (permalink)  
Старый 10.08.2014, 17:32
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,127

А если данных будет в 100 раз больше?
не возникает ощущение что задачу решаете не совсем правильно?
Ответить с цитированием
  #15 (permalink)  
Старый 10.08.2014, 17:38
Профессор
Посмотреть профиль Найти все сообщения от newobject
 
Регистрация: 10.07.2014
Сообщений: 145

MallSerg,
Я бы с удовольствием выслушал ваши предложения.
Ответить с цитированием
  #16 (permalink)  
Старый 10.08.2014, 18:51
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,127

Задача не озвучена полностью тут только весьма странная часть решения неизвестной задачи ((.
Возможно стоит задача поиска совпадений в текстовых строках.

Со стороны задача выглядит как забивание саморезов в бетонную стену с помощью булки хлеба. ))
Ответить с цитированием
  #17 (permalink)  
Старый 10.08.2014, 18:59
Профессор
Посмотреть профиль Найти все сообщения от newobject
 
Регистрация: 10.07.2014
Сообщений: 145

MallSerg,
Задача - банальный поиск выборки по массиву с последующим выводом результата.
Ответить с цитированием
  #18 (permalink)  
Старый 11.08.2014, 01:38
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,127

Сообщение от newobject
банальный поиск выборки
Как эти слова вообще могли оказаться рядом?
как вообще могло прийти в голову выводить результат из 900 строк на каждое нажатие клавиши?

На ладно давай допустим что есть люди читающие по 500 - 600 строк в секунду зачем использовать регулярные выражения для простого поиска чем не устраивает valueOF ?
Почему функция называется поиск а на самом деле она генерит HTML ?

Сообщение от newobject
остальных браузерах летает
остальные браузеры разумно игнорируют код постоянно перестраивающий дом перерисовывающий страницу с такой частотой пользователь его все равно не сможет увидеть
Ответить с цитированием
  #19 (permalink)  
Старый 11.08.2014, 01:55
Профессор
Посмотреть профиль Найти все сообщения от newobject
 
Регистрация: 10.07.2014
Сообщений: 145

MallSerg,
Вы господин, какую то феерическую ахинею несете. Или вникни в код наконец, или расслабься и отдохни.
Ответить с цитированием
  #20 (permalink)  
Старый 11.08.2014, 09:46
Аватар для ixth
Профессор
Отправить личное сообщение для ixth Посмотреть профиль Найти все сообщения от ixth
 
Регистрация: 19.01.2010
Сообщений: 354

Сообщение от MallSerg Посмотреть сообщение
остальные браузеры разумно игнорируют код постоянно перестраивающий дом перерисовывающий страницу с такой частотой пользователь его все равно не сможет увидеть
Все интересно и весело. См. продолжение срача тут: Какой движок использует опера?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите в написать короткий скрипт для AdobeAcrobat XI. BSI Общие вопросы Javascript 1 13.08.2013 21:24
Новая система управления сайтом Scripto CMS deepslam Ваши сайты и скрипты 38 31.01.2011 14:55
Помогите создать javascript для ВКонтакте roxana_babay Оффтопик 2 19.01.2011 06:43
Помогите со скриптом для onClick! Alex13 Общие вопросы Javascript 1 04.11.2009 10:36