Я думал, после принятия современных стандартов там все хорошо, может даже свалить, ан нет походу: https://habr.com/ru/post/497114 в каментах, как водится упоминается наше, родное :)
Я думал, после принятия современных стандартов там все хорошо, может даже свалить, ан нет походу: https://habr.com/ru/post/497114 в каментах, как водится упоминается наше, родное :)
Сделал на коленке поиск на основе древовидной мап структуры. при поиске только одного шаблона работает примерно в 30 раз медленнее реализации влоб. скорости сравниваются примерно начиная с 55 шаблонов
Сделал на коленке поиск на основе древовидной мап структуры. при поиске только одного шаблона работает примерно в 30 раз медленнее реализации влоб. скорости сравниваются примерно начиная с 55 шаблонов
с регэкспами сравнивал? с заранее скомпилированными паттернами, где шаблоны твои через | заданы
{$IFDEF BRUTEFORCE} sumpos:=0;count:=0; myTime:=now; for i:=low(needles) to high(needles) do begin currpos:=pos(needles[i],haystack,1); if currpos>0 then repeat inc(count); sumpos:=sumpos+currpos; currpos:=pos(needles[i],haystack,currpos+1); until currpos<=0; end; writeln(format('BRUTEFORCE. Contains %d entries. summ of pos %d. %.4fsec',[count,sumpos,(now-myTime)*10e4])); {$ENDIF}
понятно что результаты поиска такого брутфорса особо не применимы, но это минимальное время для поиска одного шаблона (если конечно rtl с умом написана)