Unfortunately at the moment is a little slower on simple regular expressions than the old regexp module. It seems like it is more difficult to optimise for the simple cases when you concentrate on the tough ones.<br><br>But I'm working on it. Do the versions which use PCRE or other libraries work on Windows without a C compiler? At the moment that is all I have with no other development env than Erlang. It would be interesting to compare.
<br><br>Robert<br><br><div><span class="gmail_quote">On 01/10/2007, <b class="gmail_sendername">G Bulmer</b> <<a href="mailto:gbulmer@gmail.com">gbulmer@gmail.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Robert<br><br>Sorry for the tardy response. I've been enjoying Erlang too much ... :-)<br><br>The results for your new version on pathological cases look outstanding.<br><br>How does this versions performance compare to the existing regexp for
<br>simpler matches (without back references)?<br><br>G Bulmer<br><br>PS - See y'all in Freiburg on Thursday & Friday<br><br>> On 27/09/2007, G Bulmer wrote:<br>><br>> I guess it's the 'pathological' cases that worry me; "MY software
<br>> NEVER breaks on the easy cases" :-)<br>> Seriously though, having a regexp with stable behaviour wins over one<br>> that gets the last 200% of performance *most of the time*, but is<br>> unstable.<br>
><br>> I did some tests using Russ Cox example comparing the old regexp<br>> module (not a good comparison i know) and a new version I am<br>> working on. The results confirmed his findings.<br>><br>> N 15 18 20 22
<br>> 25 30 40<br>> regexp 40 360 1570 6900 59000<br>> re 0.2 0.25 0.32 0.38 0.5<br>> 0.73 1.4<br>><br>> All times in millisecs. The old regexp uses a backtracking algorithm.
<br>><br>> Which tends to show that we will have no problems with pathological<br>> cases. :-) If people feel that it is too slow for the simpler<br>> regexps and would prefer to use a C library then it is definitely
<br>> important to choose the *right* library.<br>><br>> Robert<br>><br><br></blockquote></div><br>