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

Michael Dürig commented on OAK-4923:
------------------------------------

A couple of ideas for improvements: 
https://github.com/mduerig/jackrabbit-oak/commits/OAK-4923

So far this is just a POC to evaluate the performance impacts. The various maps 
in the current implementation quite often appear in stack traces, so I would 
assume there is room for optimisation here. However, we need to carefully 
evaluate this first before we jump to conclusion. Specifically I have 
discovered an issue with the segment (LIRS) cache I'm researching (no issue 
yet). Once that one is sorted out we need to see where we stand and whether we 
need to further improve things here. 

> Improve segment deserialization performance
> -------------------------------------------
>
>                 Key: OAK-4923
>                 URL: https://issues.apache.org/jira/browse/OAK-4923
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: segment-tar
>            Reporter: Francesco Mari
>            Assignee: Francesco Mari
>             Fix For: Segment Tar 0.0.16
>
>         Attachments: OAK-4923-01.patch, OAK-4923-02.patch
>
>
> The methods {{readReferencedSegments}} and {{readRecordNumberOffsets}} in 
> {{Segment}} compute the returned data every time they are called. While this 
> is a very clean implementation, this might force unexpected I/O operations, 
> since the "buffer" the data is read from usually is a memory-mapped file.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to