[
https://issues.apache.org/jira/browse/LUCENE-753?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12609383#action_12609383
]
Michael McCandless commented on LUCENE-753:
-------------------------------------------
OK I re-ran only PooledPread, SeparateFile and ChannelPread since they
are the "leading contenders" on all platforms.
Also, I changed to serial=false.
Now the results are very close on all but windows, but on windows I'm
seeing the opposite of what Yonik saw: PooledPread is slowest, and
SeparateFile is fastest. But this is a laptop (Win XP Pro), and it is
JRE 1.4. Also I ran with pool size == number of threads == 4.
Mac OS X 10.5.3, single WD Velociraptor hard drive, Sun JRE 1.6.0_05
{code}
config: impl=PooledPread serial=false nThreads=4 iterations=100 bufsize=1024
poolsize=4 filelen=67108864
answer=-23830370, ms=120807, MB/sec=222.20190551871994
config: impl=SeparateFile serial=false nThreads=4 iterations=100 bufsize=1024
poolsize=4 filelen=67108864
answer=-23830326, ms=119641, MB/sec=224.36744594244448
config: impl=ChannelPread serial=false nThreads=4 iterations=100 bufsize=1024
poolsize=4 filelen=67108864
answer=-23830370, ms=119217, MB/sec=225.1654176837196
{code}
Linux 2.6.22.1, 6-drive RAID 5 array, Sun JRE 1.6.0_06
{code}
config: impl=PooledPread serial=false nThreads=4 iterations=100 bufsize=1024
poolsize=4 filelen=67108864
answer=-23830370, ms=52613, MB/sec=510.2074696367818
config: impl=SeparateFile serial=false nThreads=4 iterations=100 bufsize=1024
poolsize=4 filelen=67108864
answer=-23830370, ms=52715, MB/sec=509.22025230010433
config: impl=ChannelPread serial=false nThreads=4 iterations=100 bufsize=1024
poolsize=4 filelen=67108864
answer=-23830370, ms=53792, MB/sec=499.0248661511005
{code}
WIN XP PRO, laptop, Sun JRE 1.4.2_15:
{code}
config: impl=PooledPread serial=false nThreads=4 iterations=100 bufsize=1024
poolsize=4 filelen=67108864
answer=-23830370, ms=209956, MB/sec=127.85319590771401
config: impl=SeparateFile serial=false nThreads=4 iterations=100 bufsize=1024
poolsize=4 filelen=67108864
answer=-23830370, ms=89101, MB/sec=301.27098012367986
config: impl=ChannelPread serial=false nThreads=4 iterations=100 bufsize=1024
poolsize=4 filelen=67108864
answer=-23830370, ms=184087, MB/sec=145.81988733587923
{code}
> Use NIO positional read to avoid synchronization in FSIndexInput
> ----------------------------------------------------------------
>
> Key: LUCENE-753
> URL: https://issues.apache.org/jira/browse/LUCENE-753
> Project: Lucene - Java
> Issue Type: New Feature
> Components: Store
> Reporter: Yonik Seeley
> Attachments: FileReadTest.java, FileReadTest.java, FileReadTest.java,
> FileReadTest.java, FileReadTest.java, FileReadTest.java, FSIndexInput.patch,
> FSIndexInput.patch, lucene-753.patch
>
>
> As suggested by Doug, we could use NIO pread to avoid synchronization on the
> underlying file.
> This could mitigate any MT performance drop caused by reducing the number of
> files in the index format.
--
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]