[ https://issues.apache.org/jira/browse/GROOVY-7478?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14604752#comment-14604752 ]
Patrick Julien commented on GROOVY-7478: ---------------------------------------- [~blackdrag] bq. Do you mean org.codehaus.groovy.runtime.InvokerHelper? Yes, that is the one. I added a cache to this class locally, nothing fancy, just something to help me out with this performance issue. I added a {{ConcurrentHashMap}} to cache compiled {{Pattern}} objects. This is a request to either help with this performance issue or a formal customization point. > Ability to Cache Patterns > ------------------------- > > Key: GROOVY-7478 > URL: https://issues.apache.org/jira/browse/GROOVY-7478 > Project: Groovy > Issue Type: New Feature > Components: class generator > Affects Versions: 2.3.9, 2.4.3 > Reporter: Patrick Julien > Priority: Minor > Labels: usertask > > It seems {{InvokeHelper}} cannot cache the results of {{Pattern#compile}} at > all when running embedded Groovy scripts. > When this is combined with regular expressions and a somewhat large number > scripts, there is a very large hit to performance when these scripts need to > be constantly run. > Using Java 8u40. and close to 10k scripts, the same 10k scripts are properly > cached and reused but {{Pattern}} objects are constantly re-compiled. > I am using a {{ConcurrentHashMap}} from a custom implementation of > {{InvokeHelper}} at the moment to workaround the problem but having a > supported way of controlling this behavior would be welcomed. -- This message was sent by Atlassian JIRA (v6.3.4#6332)