[ https://issues.apache.org/jira/browse/LUCENENET-425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13049322#comment-13049322 ]
Digy commented on LUCENENET-425: -------------------------------- I would like to compare search speeds of "FSDirectory" and "MMapDirectory" (if possible, with a big index) 1- IndexReader.Open( FSDirectory.Open(new System.IO.FileInfo(INDEX)) ,true ); 2- IndexReader.Open( new MMapDirectory(new System.IO.FileInfo(INDEX)) ,true ); Something like {code} public class TestSearchSpeed { string INDEX = @"Path to Index"; // string[] _words = new string[]{"","","","","","","","",""}; //Some words to search Directory _dir; public long TestFSDir() { _dir = FSDirectory.Open(new System.IO.FileInfo(INDEX)); return Test(); } public long TestMMapDir() { _dir = new MMapDirectory(new System.IO.FileInfo(INDEX)); return Test(); } long Test() { IndexReader reader = IndexReader.Open(_dir, true); Search(reader, "sometext"); Stopwatch sw = new Stopwatch(); sw.Start(); for (int i = 0; i < 5; i++) { Parallel.For(0, 50, j => { Search(reader, _words[j % _words.Length]); } ); } long dur = sw.ElapsedMilliseconds; sw.Stop(); reader.Close(); return dur; } void Search(IndexReader reader,string criteria) { IndexSearcher src = new IndexSearcher(reader); Query q = new QueryParser("field", new WhitespaceAnalyzer()).Parse(criteria); TopDocs hits = src.Search(q, 100); for (int i = 0; i < hits.ScoreDocs.Length; i++) { Document doc = reader.Document(hits.ScoreDocs[i].doc); string s = doc.GetField("field").StringValue(); } } } {code} DIGY > MMapDirectory implementation > ---------------------------- > > Key: LUCENENET-425 > URL: https://issues.apache.org/jira/browse/LUCENENET-425 > Project: Lucene.Net > Issue Type: New Feature > Affects Versions: Lucene.Net 2.9.4g > Reporter: Digy > Priority: Trivial > Fix For: Lucene.Net 2.9.4g > > Attachments: MMapDirectory.patch > > > Since this is not a direct port of MMapDirectory.java, I'll put it under > "Support" and implement MMapDirectory as > {code} > public class MMapDirectory:Lucene.Net.Support.MemoryMappedDirectory > { > } > {code} > If a Mem-Map can not be created(for ex, if the file is too big to fit in 32 > bit address range), it will default to FSDirectory.FSIndexInput > In my tests, I didn't see any performance gain in 32bit environment and I > consider it as better then nothing. > I would be happy if someone could send test results on 64bit platform. > DIGY -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira