You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Alex Parvulescu (JIRA)" <ji...@apache.org> on 2017/05/16 14:05:04 UTC

[jira] [Commented] (OAK-6225) Analyse changing the persistence format pf GroupImpl

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

Alex Parvulescu commented on OAK-6225:
--------------------------------------

Benchmark results for [v0 patch|^groupimpl-v0.patch], first numbers are trunk, second are patched:

{noformat}
Executing benchmarks with 50 members with batchsize 1 on 
-----------------------------------------------------------
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      0,      0,      1,      1,     63,  96210
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      0,      0,      1,      1,     73, 102432
Executing benchmarks with 100 members with batchsize 1 on 
-----------------------------------------------------------
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      1,      1,      2,      2,    218,  28872
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      1,      1,      1,      2,    244,  37896
Executing benchmarks with 500 members with batchsize 1 on 
-----------------------------------------------------------
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     15,     16,    844,   1036,   1161,    117
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      6,      6,      7,    702,    829,    301
Executing benchmarks with 1000 members with batchsize 1 on 
-----------------------------------------------------------
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     47,     60,   1841,   1935,   2028,     38
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     17,     18,   1518,   1698,   1768,     51
Executing benchmarks with 50 members with batchsize 10 on 
-----------------------------------------------------------
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      0,      0,      0,      1,      8, 569285
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      0,      0,      0,      1,      8, 549645
Executing benchmarks with 100 members with batchsize 10 on 
-----------------------------------------------------------
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      0,      0,      0,      1,      9, 255379
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      0,      0,      0,      1,      9, 248758
Executing benchmarks with 500 members with batchsize 10 on 
-----------------------------------------------------------
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      1,      1,      2,      2,    184,  27726
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      2,      2,      2,      3,    400,  17788
Executing benchmarks with 1000 members with batchsize 10 on 
-----------------------------------------------------------
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      4,      4,      5,      5,    459,   8202
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      6,      7,    695,    917,    997,    129
{noformat}

{noformat}
Executing benchmarks with 50 members with batchsize 1 on 
-----------------------------------------------------------
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     48,     62,    112,    175,    327,    517
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     36,     43,     64,    150,    710,    671
Executing benchmarks with 100 members with batchsize 1 on 
-----------------------------------------------------------
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,    138,    168,    222,    313,    436,    260
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     73,     85,    146,    308,    953,    337
Executing benchmarks with 500 members with batchsize 1 on 
-----------------------------------------------------------
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,    855,    934,   1159,   1576,   1810,     51
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,    563,    600,    721,   1545,   4124,     64
Executing benchmarks with 1000 members with batchsize 1 on 
-----------------------------------------------------------
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,   1840,   1976,   2281,   3304,   3487,     26
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,   1487,   1601,   1900,   2980,   3823,     29
Executing benchmarks with 50 members with batchsize 10 on 
-----------------------------------------------------------
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      7,     13,     21,    109,    283,   1389
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      8,     21,     40,    221,    507,    791
Executing benchmarks with 100 members with batchsize 10 on 
-----------------------------------------------------------
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     20,     26,     38,    227,    420,    706
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     21,     38,     75,    454,    922,    400
Executing benchmarks with 500 members with batchsize 10 on 
-----------------------------------------------------------
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,    100,    112,    155,   1197,   2140,    147
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,    191,    224,    410,   1703,   4256,     91
Executing benchmarks with 1000 members with batchsize 10 on 
-----------------------------------------------------------
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,    221,    235,    325,   2731,   4267,     73
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      2,    683,    895,   2230,   2728,     55
{noformat}

{noformat}
Executing benchmarks with 50 members with batchsize 1 on 
-----------------------------------------------------------
# RemoveMembersTest         ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     12,     12,     13,     15,     60,   4280
# RemoveMembersTest         ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      0,      0,      0,      1,     52, 123516
Executing benchmarks with 100 members with batchsize 1 on 
-----------------------------------------------------------
# RemoveMembersTest         ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     23,     23,     24,     40,    252,   1885
# RemoveMembersTest         ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      0,      1,      1,      1,     64,  60001
Executing benchmarks with 50 members with batchsize 10 on 
-----------------------------------------------------------
# RemoveMembersTest         ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      1,      1,      1,      2,     39,  45431
# RemoveMembersTest         ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      0,      0,      0,      1,      8, 555815
Executing benchmarks with 100 members with batchsize 10 on 
-----------------------------------------------------------
# RemoveMembersTest         ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      2,      2,      3,      3,     45,  21291
# RemoveMembersTest         ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      0,      0,      0,      1,     10, 264133
{noformat}

> Analyse changing the persistence format pf GroupImpl
> ----------------------------------------------------
>
>                 Key: OAK-6225
>                 URL: https://issues.apache.org/jira/browse/OAK-6225
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core
>            Reporter: Alex Parvulescu
>         Attachments: groupimpl-v0.patch
>
>
> As suggested on OAK-3933, I'd like to look into using a different persistence format for the GroupImpl members.
> Currently this is saved as a list of child nodes, and I'd like to bench this against a tree based approach where each sub child node represents a part of the key so it can be used for lookup.
> WIP branch can be found at [0], I merged all the commits so far into a single one to reduce the noise.
> fyi [~anchela]
> [0] https://github.com/stillalex/jackrabbit-oak/tree/oak-3933



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)