On Feb 14, 2008, at 9:09 AM, Rich Bowen wrote:
On Feb 14, 2008, at 09:07, Jim Jagielski wrote:It's not even just that "there is a second substitution" but rather that the pattern/regex being looked for could possibly be the result of a previous substition. If you have to subs like s/foo/bar/ s/plum/apple/ there is no way one could affect the other (or depend on the other) so flattening is not required.Yes, I understand that, but I figured it would probably take longer to determine, on an arbitrary case, whether there was such an overlap, than to perform the flattening.
So we adjust the default to flatten and update the docs to say something like "if it is known in advance that there is no overlap or potential overlap between substitutions (that the result of one substitution cannot match the pattern or regex for a later one), then substantial speed and memory utilization improvements can be realized by using the 'quick' method" ?? My concerns are: (1) the default would be slower and more of a memory hog, which seems opposite of our normal expectations (2) the change (in default behavior as well as "dropping" 'f' (ignoring it actually) and adding 'q') would happen between patch-level releases. Both, of course, could be fixed by good docs, but than again, so could, maybe, the current situation we're trying to fix... I'm +0 either way, but if we decide to change, I'll work up the patch to change the default and add 'q'
