[
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)