Andrus Adamchik created CAY-2805:
------------------------------------
Summary: Stop calling exp parser internally
Key: CAY-2805
URL: https://issues.apache.org/jira/browse/CAY-2805
Project: Cayenne
Issue Type: Improvement
Affects Versions: 4.2.RC2
Reporter: Andrus Adamchik
Assignee: Nikita Timofeev
This is a performance optimization suggestion. Just noticed during profiling a
few minor "hotspots" due to calling "ExpressionFactory.exp()" inside the
following methods in the Cayenne core:
* PrefetchProcessorJointNode.buildRowMapping(..)
* DefaultSelectTranslator.appendQueryColumns(..)
* SelectQueryMetadata.buildEntityResultForColumn(..)
This results in exp parser invocation, which is fairly slow. At the same time,
in all these places the expression is known to be a path (either DB or OBJ). So
we can take a shortcut and apply a faster parsing function to generate
ASTObjPath or ASTDbPath.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)