[Schmitzm-commits] r2028 - trunk/schmitzm-core/src/main/java/de/schmitzm/regex

scm-commit at wald.intevation.org scm-commit at wald.intevation.org
Sun May 27 16:19:53 CEST 2012


Author: alfonx
Date: 2012-05-27 16:19:53 +0200 (Sun, 27 May 2012)
New Revision: 2028

Modified:
   trunk/schmitzm-core/src/main/java/de/schmitzm/regex/RegexCache.java
Log:


Modified: trunk/schmitzm-core/src/main/java/de/schmitzm/regex/RegexCache.java
===================================================================
--- trunk/schmitzm-core/src/main/java/de/schmitzm/regex/RegexCache.java	2012-05-27 13:11:59 UTC (rev 2027)
+++ trunk/schmitzm-core/src/main/java/de/schmitzm/regex/RegexCache.java	2012-05-27 14:19:53 UTC (rev 2028)
@@ -37,7 +37,7 @@
 	 * TODO Ein String der länger ist als die hier angegebene Anzahl Zeichen wir nicht gecached. Die Wahrscheinlichkeit,
 	 * dass der selbe Sting nochmal auftaucht wird als zu gering eingeschätzt.
 	 **/
-	private static final int CACHE_VALUES_TO_RESULT_MAX_VALUE_LENGTH = 1000;
+	private static final int CACHE_VALUES_TO_RESULT_MAX_VALUE_LENGTH = 500;
 
 	/**
 	 * TODO Ein String der kürzer als die hier angegebene Anzahl Zeichen wir nicht gecached.
@@ -56,7 +56,7 @@
 		return singletonInstance != null ? singletonInstance : new RegexCache();
 	}
 
-	private final ConcurrentLRUCache<Pattern, ConcurrentLRUCache<String, MyMatchResult>> resultsCache = new ConcurrentLRUCache<Pattern, ConcurrentLRUCache<String, MyMatchResult>>(
+	private final ConcurrentLRUCache<String, MyMatchResult> resultsCache = new ConcurrentLRUCache<String, MyMatchResult>(
 			150000, 100000);
 
 	private RegexCache() {
@@ -149,18 +149,9 @@
 			return found ? m.toMatchResult() : null;
 		}
 
-		final Pattern pattern = getPattern(regex);
-
-		ConcurrentLRUCache<String, MyMatchResult> m;
-		m = resultsCache.get(pattern);
-		if (m == null) {
-			resultsCache.put(pattern, m = new ConcurrentLRUCache<String, MyMatchResult>(50, 20));
-		}
-
-		MyMatchResult mResult;
-		mResult = m.get(value);
+		final String key = regex + ":*:" + value;
+		MyMatchResult mResult = resultsCache.get(key);
 		if (mResult == null) {
-
 			// final Matcher xm = pattern.matcher(value);
 			final Matcher xm = getMatcher(regex, value);
 
@@ -169,7 +160,7 @@
 			else
 				mResult = new MyMatchResult(null);
 
-			m.put(value, mResult); // Hat die gefehlt?
+			resultsCache.put(key, mResult);
 		}
 
 		return mResult.matcherResult;



More information about the Schmitzm-commits mailing list