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 <[email protected]> Authored: Tue Aug 22 08:04:12 2017 +0800 Committer: sunlan <[email protected]> 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; }
