|
|
| Perl Monk, Perl Meditation | |
| PerlMonks |
Re^13: Memory leak questionby BrowserUk (Pope) |
| on Oct 06, 2010 at 14:33 UTC ( #863797=note: print w/ replies, xml ) | Need Help?? |
|
I believe you are being bitten by regex engine leaks. Here's what I discovered.
I thought that it was maybe the use of (so many) named captures, but I tried very hard to make them leak. A single regex with 175,000 named captures; matching /g against a string that contained 10,000 matches for them; in a (v.slow) loop. It grew very arge, but once it maxed out, it didn't leak at all. So then I remembered that I'd seen the regex trie optimisation caused problems with large alternations, but disabling it didn't change things. Then I thought to try your monster regexes in a standalone script and run them directly on the sample date in a loop:
it doesn't leak at all. Not a jot. So, it's not just the monster regexes, but also how they're are being used, or the results are being used that triggers the leak. I'm kinda stuck for a direction in which to go now, but I hope that this will help you zero in on the cause. I'll keep looking. Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
In Section
Seekers of Perl Wisdom
|
|
||||||||||||||||||||||||||||||||||||