You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2015/04/15 14:07:30 UTC

wicket git commit: Minor performance improvement in MarkupParser whitespace compressing - extract a compiled Pattern as a constant

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 <mg...@apache.org>
Authored: Wed Apr 15 15:06:31 2015 +0300
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
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>