[
https://issues.apache.org/jira/browse/SLING-12265?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Stefan Seifert resolved SLING-12265.
------------------------------------
Fix Version/s: Testing Sling Mock 3.5.0
Resolution: Fixed
https://github.com/apache/sling-org-apache-sling-testing-sling-mock/commit/4ff35ad95143d85bc1f91888cd53a3f624f86e06
> 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
> Assignee: Stefan Seifert
> Priority: Minor
> Labels: performance
> Fix For: Testing Sling Mock 3.5.0
>
>
> 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)