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)

Reply via email to