XP is just a number | |
PerlMonks |
Perl6 Regex extremely slowby czipperz (Initiate) |
on May 10, 2015 at 21:31 UTC ( [id://1126261]=perlquestion: print w/replies, xml ) | Need Help?? |
czipperz has asked for the wisdom of the Perl Monks concerning the following question:
I am using Perl6 (Rakudo) and am writing a simple regex. It correctly parses, so that is not the problem. It is so slow to parse that I am using the Perl5 m:P5 prefix to be able to parse in a reasonable amount of time. They should both do the same thing.
My Perl6 code is: /^^ (<[#.]>) [\" ([ <-[\\ \"]> | . <-[\"]> | <-[\\]> . ] +) \" | (<-[\ ]> +)]/ My Perl5 code is: m:P5/^([#.])(?:\"((?:[^\\\"]|.[^\"]|[\\].)+)\"|([^ ]+))/ They match the same thing (any thing inside quotes including escaped quotes, or the first word) but the Perl5 version is very fast comparatively. I am running Perl6 version 2015.03 build on MoarVM version 2015.03. And just so you all know, I put a print statement before the first test, between the tests, then after them and it was definitely much (as in seconds) slower to use Perl6. Why is this? Edit: I just changed my code to remove the <-[\\ \"]> | and the [^\\\"]| and it pretty much removed the difference. That's really weird.
Back to
Seekers of Perl Wisdom
|
|