jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Parvulescu (JIRA)" <j...@apache.org>
Subject [jira] [Created] (OAK-5910) Reduce copying of data when reading mmapped records
Date Wed, 08 Mar 2017 10:08:37 GMT
Alex Parvulescu created OAK-5910:

             Summary: 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
             Fix For: 1.8

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