Я использую JavaParser v3.13.5 для построения AST из выражений.Я заметил, что синтаксический анализ, даже такой простой, как Objects.equals(a, b)
, занимает слишком много времени (~ 0,15 с).Есть ли варианты, кроме ParserConfiguration
, для ускорения анализа?
РЕДАКТИРОВАТЬ
Код для воспроизведения результатов:
JavaParser javaParser = new JavaParser(
new ParserConfiguration()
.setStoreTokens(false)
.setAttributeComments(false)
.setDoNotAssignCommentsPrecedingEmptyLines(true)
.setIgnoreAnnotationsWhenAttributingComments(true)
.setLexicalPreservationEnabled(true)
.setPreprocessUnicodeEscapes(false)
.setLanguageLevel(LanguageLevel.RAW)
.setCharacterEncoding(Providers.UTF8));
String strExpr = "Objects.equals(a, b)";
long start = System.currentTimeMillis();
//Expression expr = StaticJavaParser.parseExpression(strExpr); // even slower...
ParseResult<Expression> parseResult = javaParser.parseExpression(strExpr); // slow...
long end = System.currentTimeMillis();
System.out.println((double) (end-start)/1000);
Есть ликакой-нибудь метод, который можно переопределить, чтобы подавить некоторые ненужные проверки или что-то еще?