On Tue, 13 Dec 2011, Graycode wrote: > I hope you get a chance to review this again in the future. I am > suggesting that ONE and a maximum of only one frame be placed on the > stack. This will add a one-time total of roughly 276 bytes of stack > usage. Regardless of how many times match() and its RMATCH() is used > during execution of an expression, there will never be more than a > single instance of 'frame_zero' residing on the stack.
Ah. I now see what you are saying. Sorry for misunderstanding. > This is a simple tweak that seems to provide some better speed when > the NO_RECURSE option is used. I am surprised that it makes so much difference, but if you have measured it and it does, that just proves my intuition is poor. :-( > That option is probably not used very often because this isn't enough > yet to make it comparable to the speed of stack-based recursion. It is used by some Windows users because of the small default size of the stack in that environment. We are rather busy with the 16-bit implementation just at the moment, but once that is out and released (at least a month away, probably more) I will check this out as part of ongoing development. Thanks for taking the time to explain in detail. Philip -- Philip Hazel -- ## List details at https://lists.exim.org/mailman/listinfo/pcre-dev
