[ 
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 file. 
> 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
(v6.1.5#6160)

Reply via email to