Re: [Patch] Change default executor to DFS in regex

2013-10-20 Thread Tim Shen
On Sun, Oct 20, 2013 at 4:42 AM, Paolo Carlini wrote: > Ok with those changes. Committed. Thanks! -- Tim Shen a.patch Description: Binary data

Re: [Patch] Change default executor to DFS in regex

2013-10-20 Thread Paolo Carlini
On 10/19/2013 11:28 PM, Tim Shen wrote: I see. Here's the macro version. Thanks! Mostly Ok, but the macro is completely undocumented. Please change the comment which says: "... more than certain number of quantifiers..." to actually mention the macro, thus, say: "... more than _GLIBCXX_REGEX_D

Re: [Patch] Change default executor to DFS in regex

2013-10-19 Thread Tim Shen
On Sat, Oct 19, 2013 at 3:12 PM, Paolo Carlini wrote: > Yes, but giving it a name doesn't buy us much wrt the issue I pointed out. > For comparison, in similar cases, the compiler driver has --params which the > user can fine tune on the command line. The best approximation we have got > in the li

Re: [Patch] Change default executor to DFS in regex

2013-10-19 Thread Paolo Carlini
On 10/19/2013 07:51 PM, Tim Shen wrote: On Sat, Oct 19, 2013 at 4:03 AM, Paolo Carlini wrote: About the < 2, in general hardcoding a parameter value in the code isn't a nice idea. Why don't we take it out to a macro, say _GLIBCXX_REGEX_NFA_QUANTIFIERS_LIMIT? In stl_deque.h we have something sim

Re: [Patch] Change default executor to DFS in regex

2013-10-19 Thread Tim Shen
On Sat, Oct 19, 2013 at 4:03 AM, Paolo Carlini wrote: > About the < 2, in general hardcoding a parameter value in the code isn't a > nice idea. Why don't we take it out to a macro, say > _GLIBCXX_REGEX_NFA_QUANTIFIERS_LIMIT? In stl_deque.h we have something > similar and in the present case it wou

Re: [Patch] Change default executor to DFS in regex

2013-10-19 Thread Paolo Carlini
Hi, On 10/19/2013 05:53 AM, Tim Shen wrote: On Fri, Oct 18, 2013 at 9:13 PM, Tim Shen wrote: As the comment in this patch said, DFS approach is faster in simple regex, but exponentially slower in complex(many quantifier) cases. Actually I suggest to use DFS where number of quantifiers < 2, to

Re: [Patch] Change default executor to DFS in regex

2013-10-18 Thread Tim Shen
On Fri, Oct 18, 2013 at 9:13 PM, Tim Shen wrote: > As the comment in this patch said, DFS approach is faster in simple > regex, but exponentially slower in complex(many quantifier) cases. Actually I suggest to use DFS where number of quantifiers < 2, to make this 'optimization' more conservative.

[Patch] Change default executor to DFS in regex

2013-10-18 Thread Tim Shen
As the comment in this patch said, DFS approach is faster in simple regex, but exponentially slower in complex(many quantifier) cases. DFA optimization could be added, but I'm afraid it needs rewriting regex_automaton.*. Tested under -m32 and -m64. Thanks! -- Tim Shen a.patch Description: B