Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/371.32  10 Jul 2000  11:44:43
 To : Alexander Temerev
 Subject : Re: help neded
 -------------------------------------------------------------------------------- 
 
 <Alexander_Temerev@p6.f21.n5004.z2.fidonet.org> wrote:
 
  >>>> процитировать из Mastering Regular Expressions регекс из 10 символов
  >>>> и строчку из 30, применение коего к коей будет работать на любом
  >>>> существующем процессоре на несколько порядков дольше, чем способен
  >>>> прожить оный процессор.
  pppr>>> ХОЧУ! Люблю я всякое такое :)
  AC>> Сходу получилось на
  AC>> "-X----------------------------" =~ /X((.*)*)*X/;
  AC>> (первый минус важен - иначе срабатывает какая-то оптимизация). Вообще
  AC>> разнообразными оптимизациями может лечиться что-то ещё, в Mastering
  AC>> Regular Expressions более подробно расписано...
 
 AT> По-моему, это наглая лжа:
 
 Я ж сказал: разнообразными оптимизациями может лечиться что-то ещё.
 Принципиальная схема лечится только полной сменой движка.
 
 AT> use Benchmark;
 
 AT> timethis (10000,'("-X----------------------------" =~ /X((.*)*)*X/)');
 AT> timethis (10000,'("-X----------------------------X" =~ /X((.*)*)*X/)');
 
 >>==(первый regexp - false, второй - true)==============================
 
 AT> timethis 10000:  0 wallclock secs ( 0.11 usr +  0.00 sys =  0.11 CPU) @
 AT> 90909.09/s (n=10000)
 AT>             (warning: too few iterations for a reliable count)
 AT> timethis 10000:  2 wallclock secs ( 1.70 usr +  0.00 sys =  1.70 CPU) @
 AT> 5882.35/s (n=10000)
 
 AT> Perl 5.6.0/Win32
 
 А вот не поленись посмотреть в документации, они движок с NFA на DFA не
 сменили? Если нет, то я не поленюсь залезть в MRE и посмотреть там, там вроде
 и регекс, и строка чуть посложнее. Попробуй, кстати, поменять звёздочки на
 плюсики и добавить пару минусов спереди в строку. А если сменили на DFA, то
 это будет повод переползать на 5.6...
 
 -- 
 Счастливо!
   Ран.
 --- ifmail v.2.14.os-p7-tma3
  * Origin: MemoNet (2:5020/371.32@fidonet)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: help neded   Artem Chuprina   10 Jul 2000 11:44:43 
 help neded   Maxim Razin   16 Jul 2000 18:59:31 
 Re: help neded   Artem Chuprina   25 Jul 2000 17:42:23 
Архивное /ru.perl/347370764f98.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional