[
https://issues.apache.org/jira/browse/PIG-965?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12790545#action_12790545
]
Ankit Modi commented on PIG-965:
--------------------------------
* NonConstantRegex - I did not think of equals. But I added a length check
before as it could find out change in length faster and to best of my knowledge
its a getMethod. And yes as you mentioned equals will check for same object and
instanceOf which is not useful in our case.
* The numbers published above are using dk.brics.automaton.RunAutomaton. Do you
want me to publish numbers for more set of regexs ?
I'll create a patch for rest of the comments.
> PERFORMANCE: optimize common case in matches (PORegex)
> ------------------------------------------------------
>
> Key: PIG-965
> URL: https://issues.apache.org/jira/browse/PIG-965
> Project: Pig
> Issue Type: Improvement
> Components: impl
> Reporter: Thejas M Nair
> Assignee: Ankit Modi
> Attachments: automaton.jar, poregex2.patch
>
>
> Some frequently seen use cases of 'matches' comparison operator have follow
> properties -
> 1. The rhs is a constant string . eg "c1 matches 'abc%' "
> 2. Regexes such that look for matching prefix , suffix etc are very common.
> eg - "abc%', "%abc", '%abc%'
> To optimize for these common cases , PORegex.java can be changed to -
> 1. Compile the pattern (rhs of matches) re-use it if the pattern string has
> not changed.
> 2. Use string comparisons for simple common regexes (in 2 above).
> The implementation of Hive like clause uses similar optimizations.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.