Как ускорить JavaParser - PullRequest
       7

Как ускорить JavaParser

0 голосов
/ 02 апреля 2019

Я использую 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);

Есть ликакой-нибудь метод, который можно переопределить, чтобы подавить некоторые ненужные проверки или что-то еще?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...