[ 
https://issues.apache.org/jira/browse/LUCENE-2574?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12895206#action_12895206
 ] 

Shai Erera commented on LUCENE-2574:
------------------------------------

bq. Better to finish drinking coffee in the morning before thinking too much...

"Better to finish drinking coffee in the morning" ... period ! :)

Ok so I'll commit this. Thanks !

> Optimize copies between IndexInput and Output
> ---------------------------------------------
>
>                 Key: LUCENE-2574
>                 URL: https://issues.apache.org/jira/browse/LUCENE-2574
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Store
>            Reporter: Shai Erera
>            Assignee: Shai Erera
>             Fix For: 3.1, 4.0
>
>         Attachments: LUCENE-2574.patch, LUCENE-2574.patch, LUCENE-2574.patch
>
>
> We've created an optimized copy of files from Directory to Directory. We've 
> also optimized copyBytes recently. However, we're missing the opposite side 
> of the copy - from IndexInput to Output. I'd like to mimic the FileChannel 
> API by having copyTo on IndexInput and copyFrom on IndexOutput. That way, 
> both sides can optimize the copy process, depending on the type of the 
> IndexInput/Output that they need to copy to/from.
> FSIndexInput/Output can use FileChannel if the two are FS types. 
> RAMInput/OutputStream can copy to/from the buffers directly, w/o going 
> through intermediate ones. Actually, for RAMIn/Out this might be a big win, 
> because it doesn't care about the type of IndexInput/Output given - it just 
> needs to copy to its buffer directly.
> If we do this, I think we can consolidate all Dir.copy() impls down to one 
> (in Directory), and rely on the In/Out ones to do the optimized copy. Plus, 
> it will enable someone to do optimized copies between In/Out outside the 
> scope of Directory.
> If this somehow turns out to be impossible, or won't make sense, then I'd 
> like to optimize RAMDirectory.copy(Dir, src, dest) to not use an intermediate 
> buffer.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to