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

Earwin Burrfoot commented on LUCENE-1658:
-----------------------------------------

bq. Wait, are you saying Win 64 bit has problems w/ MMapDir? (I thought you 
just said Win 32 bit, above).
I have no lucene experience with Win64, and so I extrapolated from 32bit (as I 
felt it was more of a Windows issue than anything else). Would be nice if 
someone actually tries.
If it works, then the rule sounds like - MMap for all 64bit systems, NIO for 
32bit non-win, Simple for 32bit win.

bq. Is MMapDir fine w/ concurrency?
It's cool with it if you have enough memory (no frequent paging occurs). I'm 
not sure about NIOFS vs MMap on memory-constrained systems, if you're competing 
for disk cache.

bq. Which way do you think "prime all bytes up front on open" should default?
This has a side-effect of pushing previous mmaps out of memory if you're 
memory-constrained. Thus, under certain usage conditions (frequent merging, or 
something like that + low memory) this feature theoretically could be a 
disadvantage.
For me it works well enough to be hardcoded to true :)

If anybody's interested, I can also repost an alternative for MMapD - 
MemoryMirroredD, which wraps any given D and explicitly preloads files in 
non-chunked byte arrays. It's a bit faster than MMapD and MemoryD (for 
reading), but has certain disadvantages, like stressing your GC and throwing 
OOM on merges/optimize if you don't have enough heap (unlike MMapD that 
silently swaps out).

> Absorb NIOFSDirectory into FSDirectory
> --------------------------------------
>
>                 Key: LUCENE-1658
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1658
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Store
>            Reporter: Michael McCandless
>            Assignee: Michael McCandless
>            Priority: Minor
>             Fix For: 2.9
>
>         Attachments: LUCENE-1658.patch, LUCENE-1658.patch
>
>
> I think whether one uses java.io.* vs java.nio.* or eventually
> java.nio2.*, or some other means, is an under-the-hood implementation
> detail of FSDirectory and doesn't merit a whole separate class.
> I think FSDirectory should be the core class one uses when one's index
> is in the filesystem.
> So, I'd like to deprecate NIOFSDirectory, absorbing it into
> FSDirectory, and add a setting "useNIO" to FSDirectory.  It should
> default to "true" for non-Windows OSs, because it gives far better
> concurrent performance on all platforms but Windows (due to known Sun
> JRE issue http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6265734).

-- 
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: java-dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-dev-h...@lucene.apache.org

Reply via email to