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/19 18:45:04 UTC

[jira] [Comment Edited] (OAK-6225) Analyse changing the persistence format of GroupImpl

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

Alex Parvulescu edited comment on OAK-6225 at 5/19/17 6:44 PM:
---------------------------------------------------------------

benchmarks for v1&v2 patch (as usual first numbers are the baseline, second are from the patch):

{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,     81,  92068
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      0,      0,      1,      1,     67, 105273
Executing benchmarks with 100 members with batchsize 1 on 
-----------------------------------------------------------
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      1,      1,      1,      2,    244,  33370
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      0,      1,      1,      1,    208,  43690
Executing benchmarks with 150 members with batchsize 1 on 
-----------------------------------------------------------
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      2,      2,      2,      3,    325,  17867
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      1,      1,      2,      2,    291,  26399
Executing benchmarks with 500 members with batchsize 1 on 
-----------------------------------------------------------
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     14,     15,    841,   1019,   1123,    111
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      5,      6,      7,    657,    796,    305
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, 532701
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      0,      0,      0,      1,      8, 577905
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,     10, 277807
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      0,      0,      0,      1,      9, 288673
Executing benchmarks with 150 members with batchsize 10 on 
-----------------------------------------------------------
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      0,      0,      0,      1,     10, 180031
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      0,      0,      0,      1,     43, 143094
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,    180,  28647
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      1,      1,      2,      2,    379,  23055
{noformat}

{noformat}
Executing benchmarks with 50 members with batchsize 1 on 
-----------------------------------------------------------
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     50,     63,    112,    188,    311,    508
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     36,     44,     69,    154,    486,    658
Executing benchmarks with 100 members with batchsize 1 on 
-----------------------------------------------------------
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,    144,    165,    216,    307,    384,    264
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     76,     86,    150,    309,    915,    337
Executing benchmarks with 150 members with batchsize 1 on 
-----------------------------------------------------------
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,    210,    235,    331,    473,    617,    176
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,    134,    151,    209,    437,   1349,    222
Executing benchmarks with 500 members with batchsize 1 on 
-----------------------------------------------------------
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,    877,    909,   1133,   1503,   1768,     52
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,    586,    634,    773,   1551,   2798,     63
Executing benchmarks with 50 members with batchsize 10 on 
-----------------------------------------------------------
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      8,     13,     20,    108,    344,   1410
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      7,     20,     38,    228,    508,    803
Executing benchmarks with 100 members with batchsize 10 on 
-----------------------------------------------------------
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     19,     25,     35,    232,    481,    716
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     19,     37,     76,    440,   1095,    401
Executing benchmarks with 150 members with batchsize 10 on 
-----------------------------------------------------------
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     27,     36,     51,    388,    720,    460
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     39,     49,    123,    616,   1238,    269
Executing benchmarks with 500 members with batchsize 10 on 
-----------------------------------------------------------
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,    102,    117,    154,   1460,   2451,    131
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,    217,    238,    534,   1271,   3292,     87
{noformat}

{noformat}
Executing benchmarks with 50 members with batchsize 1 on 
-----------------------------------------------------------
# RemoveMembersTest         ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     11,     12,     12,     14,     57,   4597
# RemoveMembersTest         ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      0,      0,      0,      1,     47, 135934
Executing benchmarks with 100 members with batchsize 1 on 
-----------------------------------------------------------
# RemoveMembersTest         ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     24,     25,     26,     39,    289,   1772
# RemoveMembersTest         ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      0,      1,      1,      1,     66,  60940
Executing benchmarks with 150 members with batchsize 1 on 
-----------------------------------------------------------
# RemoveMembersTest         ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     35,     36,     46,    173,    505,    795
# RemoveMembersTest         ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,   -252,      1,      1,      2,     80,  40152
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,     40,  41537
# RemoveMembersTest         ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      0,      0,      0,      0,      9, 619881
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,     55,  21521
# RemoveMembersTest         ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      0,      0,      0,      1,     41, 288226
Executing benchmarks with 150 members with batchsize 10 on 
-----------------------------------------------------------
# RemoveMembersTest         ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      3,      3,      4,      4,     60,  15478
# RemoveMembersTest         ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      0,      0,      0,      1,     30, 211048
{noformat}



was (Author: alex.parvulescu):
benchmarks for v1 patch (as usual first numbers are the baseline, second are from the patch):

{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,     81,  92068
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      0,      0,      1,      1,     67, 105273
Executing benchmarks with 100 members with batchsize 1 on 
-----------------------------------------------------------
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      1,      1,      1,      2,    244,  33370
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      0,      1,      1,      1,    208,  43690
Executing benchmarks with 150 members with batchsize 1 on 
-----------------------------------------------------------
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      2,      2,      2,      3,    325,  17867
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      1,      1,      2,      2,    291,  26399
Executing benchmarks with 500 members with batchsize 1 on 
-----------------------------------------------------------
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     14,     15,    841,   1019,   1123,    111
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      5,      6,      7,    657,    796,    305
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, 532701
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      0,      0,      0,      1,      8, 577905
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,     10, 277807
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      0,      0,      0,      1,      9, 288673
Executing benchmarks with 150 members with batchsize 10 on 
-----------------------------------------------------------
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      0,      0,      0,      1,     10, 180031
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      0,      0,      0,      1,     43, 143094
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,    180,  28647
# AddMembersTest            ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      1,      1,      2,      2,    379,  23055
{noformat}

{noformat}
Executing benchmarks with 50 members with batchsize 1 on 
-----------------------------------------------------------
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     50,     63,    112,    188,    311,    508
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     36,     44,     69,    154,    486,    658
Executing benchmarks with 100 members with batchsize 1 on 
-----------------------------------------------------------
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,    144,    165,    216,    307,    384,    264
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     76,     86,    150,    309,    915,    337
Executing benchmarks with 150 members with batchsize 1 on 
-----------------------------------------------------------
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,    210,    235,    331,    473,    617,    176
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,    134,    151,    209,    437,   1349,    222
Executing benchmarks with 500 members with batchsize 1 on 
-----------------------------------------------------------
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,    877,    909,   1133,   1503,   1768,     52
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,    586,    634,    773,   1551,   2798,     63
Executing benchmarks with 50 members with batchsize 10 on 
-----------------------------------------------------------
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      8,     13,     20,    108,    344,   1410
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      7,     20,     38,    228,    508,    803
Executing benchmarks with 100 members with batchsize 10 on 
-----------------------------------------------------------
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     19,     25,     35,    232,    481,    716
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     19,     37,     76,    440,   1095,    401
Executing benchmarks with 150 members with batchsize 10 on 
-----------------------------------------------------------
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     27,     36,     51,    388,    720,    460
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     39,     49,    123,    616,   1238,    269
Executing benchmarks with 500 members with batchsize 10 on 
-----------------------------------------------------------
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,    102,    117,    154,   1460,   2451,    131
# AddUniqueMembersTest      ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,    217,    238,    534,   1271,   3292,     87
{noformat}

{noformat}
Executing benchmarks with 50 members with batchsize 1 on 
-----------------------------------------------------------
# RemoveMembersTest         ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     11,     12,     12,     14,     57,   4597
# RemoveMembersTest         ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      0,      0,      0,      1,     47, 135934
Executing benchmarks with 100 members with batchsize 1 on 
-----------------------------------------------------------
# RemoveMembersTest         ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     24,     25,     26,     39,    289,   1772
# RemoveMembersTest         ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      0,      1,      1,      1,     66,  60940
Executing benchmarks with 150 members with batchsize 1 on 
-----------------------------------------------------------
# RemoveMembersTest         ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     35,     36,     46,    173,    505,    795
# RemoveMembersTest         ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,   -252,      1,      1,      2,     80,  40152
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,     40,  41537
# RemoveMembersTest         ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      0,      0,      0,      0,      9, 619881
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,     55,  21521
# RemoveMembersTest         ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      0,      0,      0,      1,     41, 288226
Executing benchmarks with 150 members with batchsize 10 on 
-----------------------------------------------------------
# RemoveMembersTest         ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      3,      3,      4,      4,     60,  15478
# RemoveMembersTest         ,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,      0,      0,      0,      1,     30, 211048
{noformat}


> Analyse changing the persistence format of GroupImpl
> ----------------------------------------------------
>
>                 Key: OAK-6225
>                 URL: https://issues.apache.org/jira/browse/OAK-6225
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core
>            Reporter: Alex Parvulescu
>            Assignee: Alex Parvulescu
>             Fix For: 1.8
>
>         Attachments: groupimpl-v0.patch, groupimpl-v1.patch, groupimpl-v2.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/apache/jackrabbit-oak/compare/trunk...stillalex:oak-6225



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