Repository: wicket Updated Branches: refs/heads/master f2bc2ba09 -> e07475cf9
Minor performance improvement in MarkupParser whitespace compressing - extract a compiled Pattern as a constant Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/e07475cf Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/e07475cf Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/e07475cf Branch: refs/heads/master Commit: e07475cf989565bad53fd8dfcd5d109912ae6bef Parents: f2bc2ba Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Wed Apr 15 15:06:31 2015 +0300 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Wed Apr 15 15:06:31 2015 +0300 ---------------------------------------------------------------------- .../java/org/apache/wicket/markup/AbstractMarkupParser.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/e07475cf/wicket-core/src/main/java/org/apache/wicket/markup/AbstractMarkupParser.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/AbstractMarkupParser.java b/wicket-core/src/main/java/org/apache/wicket/markup/AbstractMarkupParser.java index b469a3b..63ac306 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/AbstractMarkupParser.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/AbstractMarkupParser.java @@ -57,6 +57,8 @@ public abstract class AbstractMarkupParser public static final Pattern CONDITIONAL_COMMENT_OPENING = Pattern.compile("(s?)^[^>]*?<!--\\[if.*?\\]>(-->)?(<!.*?-->)?"); private static final Pattern PRE_BLOCK = Pattern.compile("<pre>.*?</pre>", Pattern.DOTALL | Pattern.MULTILINE); + private static final Pattern SPACE_OR_TAB_PATTERN = Pattern.compile("[ \\t]+"); + private static final Pattern NEW_LINE_PATTERN = Pattern.compile("( ?[\\r\\n] ?)+"); /** The XML parser to use */ private final IXmlPullParser xmlParser; @@ -380,8 +382,8 @@ public abstract class AbstractMarkupParser boolean matched = m.find(); String nonPre = matched ? rawMarkup.substring(lastend, m.start()) : rawMarkup.substring(lastend); - nonPre = nonPre.replaceAll("[ \\t]+", " "); - nonPre = nonPre.replaceAll("( ?[\\r\\n] ?)+", "\n"); + nonPre = SPACE_OR_TAB_PATTERN.matcher(nonPre).replaceAll(" "); + nonPre = NEW_LINE_PATTERN.matcher(nonPre).replaceAll("\n"); // Don't create a StringBuilder if we don't actually need one. // This optimizes the trivial common case where there is no <pre>
