jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Amit Jain (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (JCR-3735) Efficient copying of binaries in Jackrabbit DataStores
Date Thu, 27 Feb 2014 04:03:20 GMT

    [ https://issues.apache.org/jira/browse/JCR-3735?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13914029#comment-13914029

Amit Jain commented on JCR-3735:

>> Do you have numbers to back that statement? A quick benchmark on my laptop (Windows
7, Java 7, 64 bit, SSD) shows FileChannel.transferTo() to actually be an order of magnitude
slower than a simple buffered copy from one file to another.

You are right on my windows laptop (Windows 7, Java 7, 64 bit SSD) copying an 800MB file is
3 times slower using the FileChannel.transferTo().
But on a linux system, turns out that FileChannel.transferTo() is about 20% faster, though
it is not an orders of magnitude faster.

So, what you suggest as the next step?

> Efficient copying of binaries in Jackrabbit DataStores
> ------------------------------------------------------
>                 Key: JCR-3735
>                 URL: https://issues.apache.org/jira/browse/JCR-3735
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>    Affects Versions: 2.7.4
>            Reporter: Amit Jain
> In the DataStore implementations an additional temporary file is created for every binary
uploaded. This step is an additional overhead when the upload process itself creates a temporary
> So, the solution proposed is to check if the input stream passed is a FileInputStream
and then use the FileChannel object associated with the input stream to copy the file.

This message was sent by Atlassian JIRA

View raw message