Size: a a a

2020 March 02

VV

V V in pro.lua
Скоростью
источник

VV

V V in pro.lua
O( log n) вместо O( n)
источник

S

Snusmumriken in pro.lua
Типа не проходим регулярками по одному и тому же куску строки дважды?
источник

VV

V V in pro.lua
Snusmumriken
Типа не проходим регулярками по одному и тому же куску строки дважды?
Угу
источник

VV

V V in pro.lua
Точнее, число прохождения уменьшается с числом найденных совпадений
источник

VV

V V in pro.lua
Текст без совпадений оба алгоритма пройдут одинаково медленно
источник

S

Snusmumriken in pro.lua
У меня есть страшное подозрение, что оно работает только если у нас детерминирован конец тега. То есть можно взять пару символов и точно понять что это — именно конец.
источник

VV

V V in pro.lua
Snusmumriken
У меня есть страшное подозрение, что оно работает только если у нас детерминирован конец тега. То есть можно взять пару символов и точно понять что это — именно конец.
Точнее, если можно точно понять, что м жду начало и концом - искомый текст
источник

VV

V V in pro.lua
Иначе - хана
источник

S

Snusmumriken in pro.lua
Прост реальные данные обычно примерно вот такие. Хммм.
<some tags>
 <unused stuff blabla/>
 <nested bullshit>
   <tag WE NEED THIS/>   <--
   <tag AND THIS/>       <--
 </nested bullshit>
 <unused stuff blabla/>
 <nested bullshit2>
   <tag WE NEED THIS/>   <--
   <tag AND THIS/>       <--
 </nested bullshit2>
</some tags>

Только в одну строку, для пущего комфорта ))
источник

VV

V V in pro.lua
Snusmumriken
Прост реальные данные обычно примерно вот такие. Хммм.
<some tags>
 <unused stuff blabla/>
 <nested bullshit>
   <tag WE NEED THIS/>   <--
   <tag AND THIS/>       <--
 </nested bullshit>
 <unused stuff blabla/>
 <nested bullshit2>
   <tag WE NEED THIS/>   <--
   <tag AND THIS/>       <--
 </nested bullshit2>
</some tags>

Только в одну строку, для пущего комфорта ))
Не проблема, просто два шаблона поиска - с пустым и не пустым значением тэга
источник

S

Snusmumriken in pro.lua
Всё равно кажется нужно очень точно подгадывать, чтобы в одном прочитанном чанке было не больше одного блока. Или нет, хм.
источник

VV

V V in pro.lua
И везде, где есть значения (пара <>...</>) мы не ищем пустой тэг (<.../>)
источник

VV

V V in pro.lua
Snusmumriken
Всё равно кажется нужно очень точно подгадывать, чтобы в одном прочитанном чанке было не больше одного блока. Или нет, хм.
Можно взять много больше))
источник

VV

V V in pro.lua
Главное, чтобы памяти входной размер хватило прочитать
источник

S

Snusmumriken in pro.lua
Ладно, это уже лютые частности, я предпочитаю пусть не самые быстрые но простые и надёжные фиговины, вроде той буферной фигни ))
Благо тут обычно упирается не в скорость обхода регулярками, а скорость чтения этого самого огромного файла, и запись в базу с индексами. Типа оптимизация пяти процентов.
источник

VV

V V in pro.lua
Snusmumriken
Ладно, это уже лютые частности, я предпочитаю пусть не самые быстрые но простые и надёжные фиговины, вроде той буферной фигни ))
Благо тут обычно упирается не в скорость обхода регулярками, а скорость чтения этого самого огромного файла, и запись в базу с индексами. Типа оптимизация пяти процентов.
У кого как)) у меня критична скорость поиска, поэтому в свое время заморочился и написал такой модуль
источник

S

Snusmumriken in pro.lua
Ага. Ещё я проповедую тупые дедулькины способы без извращений, чтобы это потом можно было прочитать и понять без спецобразования ))
источник

S

Snusmumriken in pro.lua
А то у меня на работе кто-то фигачил лютый шаблонизатор, работающий с чем-то таким:
[[<html>
 <head>...</head>
 <body>
   <?for i = 1, 100 do?>
     <div><?i?></div>
   <?end?>
 </body>
</html>]]

И в коде этого шаблонизатора без поллитры не разберёшься за неделю, хотя кода там немного, и весь на gsub'ах и одном loadstring'е. Можно было бы гораздо проще, хоть и незначительно медленнее.
источник

VV

V V in pro.lua
Snusmumriken
Ага. Ещё я проповедую тупые дедулькины способы без извращений, чтобы это потом можно было прочитать и понять без спецобразования ))
Хорошо, когда цена за них невысокая.

Но может оказаться, что "дедов кий способ на коленке" просто не справляется с задачей за адекватное время.

Тогда и наступает время всяческих извращений.
источник