Csaba Varga created SLING-12265:
-----------------------------------
Summary: Node type registration is inefficient during unit tests
when using the JCR_OAK resolver type
Key: SLING-12265
URL: https://issues.apache.org/jira/browse/SLING-12265
Project: Sling
Issue Type: Improvement
Components: Testing
Affects Versions: Testing Sling Mock 3.4.18
Reporter: Csaba Varga
I did some profiling on my company's slow-running unit tests today, and found
that 70+% of the CPU time is spent inside NodeTypeDefinitionScanner, more
specifically in the commit() call triggered by it. Our test classpath includes
AEM Mocks and the Cloud SDK, resulting in 30+ CND files being detected, and as
many commits done preparing the repository before each test. (Slightly more,
because some commits fail and get retried later.)
It should be possible to parse each CND into memory structures in a separate
pass, then create the node types all at once in a single commit. This wouldn't
just eliminate the extra commits, but would also remove the need to retry,
since all dependencies would also be provided in the same call.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)