[
https://issues.apache.org/jira/browse/AUTOTAG-21?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14637646#comment-14637646
]
mck commented on AUTOTAG-21:
----------------------------
{{AbstractModelBodyTest.testEvaluateAsString()}} fails when i try to build with
your patch [~gaganarora77]
(you were missing {{body = …}})
fixed and committed.
> AbstractModelBody.evaluateAsString uses regular expression to replace the
> contents of the string. It should be able to use a pre compiled Pattern
> instead for performance reason
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: AUTOTAG-21
> URL: https://issues.apache.org/jira/browse/AUTOTAG-21
> Project: Tiles Autotag
> Issue Type: Improvement
> Affects Versions: 1.1.0
> Reporter: Gagan Arora
> Attachments: AbstractModelBody.patch
>
>
> I am seeing high CPU utilization on AbstractModelBody.evaluateAsString method
> in my thread dumps.
> java.lang.Thread.State: RUNNABLE
> at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3715)
> at java.util.regex.Pattern$Curly.match0(Pattern.java:4158)
> at java.util.regex.Pattern$Curly.match(Pattern.java:4132)
> at java.util.regex.Pattern$Branch.match(Pattern.java:4502)
> at java.util.regex.Pattern$Start.match(Pattern.java:3408)
> at java.util.regex.Matcher.search(Matcher.java:1199)
> at java.util.regex.Matcher.find(Matcher.java:592)
> at
> org.apache.tiles.autotag.core.runtime.AbstractModelBody.evaluateAsString(AbstractModelBody.java:70)
> at
> org.apache.tiles.template.PutAttributeModel.execute(PutAttributeModel.java:96)
> at
> org.apache.tiles.jsp.taglib.PutAttributeTag.doTag(PutAttributeTag.java:226)
> What I did
> 1. Declared a compiled Pattern
> private static Pattern pattern = Pattern.compile("^\\s*|\\s*$");
> 2. in evaluateAsString :
> pattern.matcher(body).replaceAll("");
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)