[ 
https://issues.apache.org/jira/browse/JCR-1501?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

angela resolved JCR-1501.
-------------------------

    Resolution: Incomplete

i run the benchmark with various configuration settings and the changes made 
with issue JCR-1815:

> CacheBehavior.OBSERVATION vs CacheBehavior.INVALIDATION
> Batch-Reading files/folders vs disabling BatchRead
> SPI implementation sending null vs Iterator upon NodeInfo.getChildInfos

- Refresh is expensive with CacheBehavior.INVALIDATION only
- simply accessing Item without refresh/login is slower with 
CacheBehavior.OBSERVATION

since i left the test that re-accessed the items without refresh/logout in 
order to get an idea
of the caching in jcr2spi, but didn't play around with cache-size. the latter 
would be useful, since items get reloaded from the SPI if the itemstate/item is 
g-collected.

regarding the poor performance of getting big collections: i dare saying that 
the original test didn't show that. in order to have better test data i'd 
suggest to add tests that create a lot of big collections and access them 
randomly to address the concerns expressed by julian.

resolving incomplete.

> poor performance on big collections
> -----------------------------------
>
>                 Key: JCR-1501
>                 URL: https://issues.apache.org/jira/browse/JCR-1501
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: jackrabbit-jcr2spi
>            Reporter: Julian Reschke
>
> With JCR-1437, I have added tests for measuring performance, both using 
> "plain" Jackrabbit and through JCR2SPI.
> There are three tests (inside BigCollectionTest), all creating a collection 
> of 500 nt:file nodes.
> - testGetChildren just instantiates the nodes
> - testBrowseMinusJcrData simulates browsing (getting metadata), but does not 
> read jcr:data
> - testBrowse   simulates browsing (getting metadata), including obtaining the 
> content length (jcr:data)
> The tests can be run using
>   mvn -Dtest=JCRBenchmark test
> under both jackrabbit-core and jackrabbit-jcr2spi.
> The results that I see are:
> For plain Jackrabbit:
> testGetChildren: 0.20 ms per iteration
> testBrowseMinusJcrData: 1.15 ms per iteration
> testBrowse: 2.55 ms per iteration
> With JCR2SPI, I see:
> testGetChildren: 281 ms per iteration
> testBrowseMinusJcrData:  577 ms per iteration
> testBrowse: 643 ms per iteration
> So, at least for these tests, JCR2SPI is several orders of magnitude slower.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to