Hi Ralf, I am sorry, I misunderstood your question. It is about compilation not running the pattern.
On my 64 bit Linux, the stack size reported by valgrind is: r1239: 827264 r1295: 892576 This is definitely an increase (by about 8%), but not serious increase. The binary is compiled by GCC and -O2 optimization level. Regards, Zoltan "Zoltán Herczeg" <[email protected]> írta: >Hi,> > definitely worth investigating it. However, I cannot see it on my 64 bit Linux machine. I have some questions:> > - these patterns simply match to "ab", because of the non-greedy quantifier. That requires a very small amount of memory. Is this intentional? What is your input for these patterns?> > - I modified your pattens by putting an 'x' at their end, and matching to an "abb...bbbx" subject, where 1999 'b'-s are found.> > With a non-greedy quantifier: 16008 bytes of stack is consumed> With a greedy quantifier: 31992 bytes of stack is consumed> > That is nowhere from the 660K memory provided by you.> > Regards,> Zoltan> > Ralf Junker <[email protected]> írta:> >The SVN 1295 JIT engine on Win32 requires more stack than before to>> compile patterns with a large number repeated subpatterns.>> >> I did not track which code change exactly is responsible for the>> increase, but compared to SVN 1239 I had to almost double the maximum>> stack size from about 660000 to 1120000 in order to prevent an>> out-of-stack exception for these patterns:>> >> (a)(?2){0,1999}?(b)>> (a)(?(DEFINE)(b))(?2){0,1999}?(?2)>> >> I am not sure if this is a bug or simply a side-effect required by the>> new JIT features. However, it might be worth noting that the non-JIT>> compiler requires considerably less stack so improvement might be possible.>> >> Ralf>> >> -- >> ## List details at https://lists.exim.org/mailman/listinfo/pcre-dev >> > > -- > ## List details at https://lists.exim.org/mailman/listinfo/pcre-dev -- ## List details at https://lists.exim.org/mailman/listinfo/pcre-dev
