jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Dürig (JIRA) <j...@apache.org>
Subject [jira] [Updated] (OAK-5910) Reduce copying of data when reading mmapped records
Date Thu, 23 Mar 2017 09:11:41 GMT

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

Michael Dürig updated OAK-5910:
    Labels: memory performance  (was: )

> Reduce copying of data when reading mmapped records
> ---------------------------------------------------
>                 Key: OAK-5910
>                 URL: https://issues.apache.org/jira/browse/OAK-5910
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: segment-tar
>            Reporter: Alex Parvulescu
>            Assignee: Alex Parvulescu
>              Labels: memory, performance
>             Fix For: 1.8, 1.7.2
>         Attachments: OAK-5910.patch
> The idea is to reduce the amount of extra byte buffers created when reading mmapped records,
if possible pushing the ByteBuffer all the way to the consumer.
> For example reading a String from a Segment right now means first reading the bytes of
of the record into a byte array, then creating a string with an encoding (which behind the
scenes will copy the byte array again and run it through the decoder). An alternative is to
call {{decode}} on the Charset and pass in the ByteBuffer, skipping the intermediate operations.
> There are a few cases of this I included in the patch, but there may be others (like
the {{SegmentStream}} which needs a full rewrite).
> Interested in what others think of this!

This message was sent by Atlassian JIRA

View raw message