[
https://issues.apache.org/jira/browse/OAK-6915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16244055#comment-16244055
]
Francesco Mari commented on OAK-6915:
-------------------------------------
I run some benchmarks to have a better grasp on the code. Here are the results.
|Trunk|{noformat}# ConcurrentReadTest C min 10% 50%
90% max N
Oak-Segment-Tar 1 42 116 136 157 192
443
Oak-Segment-Tar-DS 1 57 114 138 166 278
428
Oak-Segment-Tar-Cold 1 116848 116848 116848 116848 116848
1
# ConcurrentReadWriteTest C min 10% 50% 90% max
N
Oak-Segment-Tar 1 121 148 181 220 356
327
Oak-Segment-Tar-DS 1 55 140 163 195 327
363
Oak-Segment-Tar-Cold 1 29777 29777 31096 32415 32415
2
# ConcurrentWriteReadTest C min 10% 50% 90% max
N
Oak-Segment-Tar 1 7 8 19 45 184
2539
Oak-Segment-Tar-DS 1 7 8 18 45 116
2593
Oak-Segment-Tar-Cold 1 1298 1514 1975 3222 3660
30
# ConcurrentWriteTest C min 10% 50% 90% max
N
Oak-Segment-Tar 1 83 86 87 96 214
668
Oak-Segment-Tar-DS 1 83 85 87 95 181
676
Oak-Segment-Tar-Cold 1 10929 10929 11036 11467 11467
6{noformat}|
|Patch|{noformat}# ConcurrentReadTest C min 10% 50%
90% max N
Oak-Segment-Tar 1 83 114 135 161 235
438
Oak-Segment-Tar-DS 1 54 115 133 154 337
447
Oak-Segment-Tar-Cold 1 46 112 129 147 171
467
# ConcurrentReadWriteTest C min 10% 50% 90% max
N
Oak-Segment-Tar 1 51 126 145 165 290
412
Oak-Segment-Tar-DS 1 50 129 146 162 256
411
Oak-Segment-Tar-Cold 1 81 129 147 170 280
402
# ConcurrentWriteReadTest C min 10% 50% 90% max
N
Oak-Segment-Tar 1 5 8 18 42 179
2655
Oak-Segment-Tar-DS 1 5 8 19 42 195
2651
Oak-Segment-Tar-Cold 1 7 8 19 43 210
2613
# ConcurrentWriteTest C min 10% 50% 90% max
N
Oak-Segment-Tar 1 81 84 85 92 238
692
Oak-Segment-Tar-DS 1 82 84 85 92 182
691
Oak-Segment-Tar-Cold 1 76 83 85 95 352
687{noformat}|
Regardless the numbers for {{Oak-Segment-Tar-Cold}}, the patch seems to match
or improve the statistics for the other fixtures.
> Minimize the amount of uncached segment reads
> ---------------------------------------------
>
> Key: OAK-6915
> URL: https://issues.apache.org/jira/browse/OAK-6915
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: segment-tar
> Reporter: Francesco Mari
> Assignee: Francesco Mari
> Fix For: 1.8, 1.7.12
>
> Attachments: OAK-6915-01.patch, OAK-6915-02.patch,
> OAK-6915-diagnostics.patch
>
>
> The current implementation of {{SegmentCache}} should make better use of the
> underlying Guava cache by relying on the cached segments instead of
> unconditionally performing an uncached segment read via the
> {{Callable<Segment>}} passed to {{SegmentCache#getSegment}}.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)