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;
}