You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by su...@apache.org on 2017/08/22 00:04:17 UTC

groovy git commit: Adjust the min value of dfa cache threshold

Repository: groovy
Updated Branches:
  refs/heads/master 9cafb9b62 -> 5c4bdad17


Adjust the min value of dfa cache threshold


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/5c4bdad1
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/5c4bdad1
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/5c4bdad1

Branch: refs/heads/master
Commit: 5c4bdad17837c1d70939f8c3ca2d68139d40ef9a
Parents: 9cafb9b
Author: sunlan <su...@apache.org>
Authored: Tue Aug 22 08:04:12 2017 +0800
Committer: sunlan <su...@apache.org>
Committed: Tue Aug 22 08:04:12 2017 +0800

----------------------------------------------------------------------
 .../groovy/parser/antlr4/internal/AtnManager.java  | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/5c4bdad1/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/internal/AtnManager.java
----------------------------------------------------------------------
diff --git a/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/internal/AtnManager.java b/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/internal/AtnManager.java
index b7975f6..82f2e85 100644
--- a/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/internal/AtnManager.java
+++ b/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/internal/AtnManager.java
@@ -35,9 +35,10 @@ import java.util.concurrent.locks.ReentrantReadWriteLock;
  */
 public class AtnManager {
     public static final ReentrantReadWriteLock RRWL = new ReentrantReadWriteLock(true);
-    private static final String CACHE_THRESHOLD_NAME = "groovy.antlr4.cache.threshold";
-    private static final int DEFAULT_CACHE_THRESHOLD = 100;
-    private static final int CACHE_THRESHOLD;
+    private static final String DFA_CACHE_THRESHOLD_OPT = "groovy.antlr4.cache.threshold";
+    private static final int DEFAULT_DFA_CACHE_THRESHOLD = 100;
+    private static final int MIN_DFA_CACHE_THRESHOLD = 50;
+    private static final int DFA_CACHE_THRESHOLD;
     private final Class ownerClass;
     private final ATN atn;
     private static final Map<Class, AtnWrapper> ATN_MAP = Maps.of(
@@ -46,18 +47,18 @@ public class AtnManager {
     );
 
     static {
-        int t = DEFAULT_CACHE_THRESHOLD;
+        int t = DEFAULT_DFA_CACHE_THRESHOLD;
 
         try {
-            t = Integer.parseInt(System.getProperty(CACHE_THRESHOLD_NAME));
+            t = Integer.parseInt(System.getProperty(DFA_CACHE_THRESHOLD_OPT));
 
             // cache threshold should be at least DEFAULT_CACHE_THRESHOLD for better performance
-            t = t < DEFAULT_CACHE_THRESHOLD ? DEFAULT_CACHE_THRESHOLD : t;
+            t = t < MIN_DFA_CACHE_THRESHOLD ? MIN_DFA_CACHE_THRESHOLD : t;
         } catch (Exception e) {
             // ignored
         }
 
-        CACHE_THRESHOLD = t;
+        DFA_CACHE_THRESHOLD = t;
     }
 
     public AtnManager(GroovyLangLexer lexer) {
@@ -87,7 +88,7 @@ public class AtnManager {
         }
 
         public ATN checkAndClear() {
-            if (0 != counter.incrementAndGet() % CACHE_THRESHOLD) {
+            if (0 != counter.incrementAndGet() % DFA_CACHE_THRESHOLD) {
                 return atn;
             }