To complete the removal any low level synchronization issues, seems like a good idea to add a clone method to CSIndexInput that clones the base IndexInput to remove the synchronization in readInternal.
On Sun, Jun 29, 2008 at 1:44 PM, Jason Rutherglen < [EMAIL PROTECTED]> wrote: > I voted for http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6265734about > pread not working on Windows. After thinking more about the pool of > RandomAccessFiles I think > LUCENE-753<https://issues.apache.org/jira/browse/LUCENE-753>is the best > solution. I am not sure how much work nor if pool of > RandomAccessFiles creates more synchronization problems and if it is only to > benefit windows, does not seem worthwhile. > > Seems like LUCENE-753 needs the conditional part on the OS and it can be > committed. > > On Sun, Jun 29, 2008 at 10:47 AM, Yonik Seeley <[EMAIL PROTECTED]> wrote: > >> On Sun, Jun 29, 2008 at 9:42 AM, Jason Rutherglen >> <[EMAIL PROTECTED]> wrote: >> > IndexReader.document as it is is really a lame duck. The >> > IndexReader.document call being synchronized at the top level drags down >> the >> > performance of systems that store data in Lucene. A single file >> descriptor >> > for all threads on an index that is constantly returning results with >> fields >> > is a serious problem. Users are always complaining about this issue and >> now >> > I know why. >> >> Each part of the index (e.g. tis, frq) is actually only covered by a >> single file descriptor by default - stored fields aren't unique in >> that regard. >> >> It's probably the case that the stored fields of a given document are >> much less likely to be in OS cache though... and in that case having >> multiple requests in-flight to the disk could improve things. >> >> On anything except Windows, using pread may be the answer (after the >> other synchronization is also removed of course): >> https://issues.apache.org/jira/browse/LUCENE-753 >> >> -Yonik >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> >