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>

Reply via email to