[ 
https://issues.apache.org/jira/browse/SLING-12266?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17835756#comment-17835756
 ] 

Stefan Seifert commented on SLING-12266:
----------------------------------------

the approach looks good to me in general.

it would be nice if there is a way to avoid code like 
[https://github.com/apache/sling-org-apache-sling-testing-sling-mock-oak/pull/12/commits/11de72022bf969e7253c6f6725b528963d3638db]
 which seems to duplicate some logic from the Jcr class implementation. but i 
have too less insight there from an oak impl perspective.

[~reschke] can you have a look at PR 
[https://github.com/apache/sling-org-apache-sling-testing-sling-mock-oak/pull/12]
 as well from an oak perspective?

> Cache initial repository state to improve JCR_OAK performance
> -------------------------------------------------------------
>
>                 Key: SLING-12266
>                 URL: https://issues.apache.org/jira/browse/SLING-12266
>             Project: Sling
>          Issue Type: Improvement
>          Components: Testing
>    Affects Versions: Testing Sling Mock 3.4.18
>            Reporter: Csaba Varga
>            Priority: Minor
>
> A lot of effort goes into preparing an Oak Mock repository from scratch: node 
> types need to be registered, indexes need to be created, and all this happens 
> over several commits. None of this work depends on the test case itself, so 
> it will always result in the exact same repository state. We could take the 
> root NodeState from the first repository we build, then build subsequent 
> repositories on top of it, avoiding most of the redundant work. Commits can 
> be relatively expensive even in memory, so each one we avoid can save a lot 
> of time in the long term.
>  
> This would require extending the contract between Testing Sling Mock and the 
> ResourceResolverTypeAdapters, to add optional "make snapshot" and "build repo 
> from snapshot" operations. For adapters that don't support them, we would 
> keep rebuilding things from scratch.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to