[ https://issues.apache.org/jira/browse/LUCENE-1309?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael McCandless resolved LUCENE-1309. ---------------------------------------- Resolution: Duplicate Dup of LUCENE-1329 (readOnly IndexReader) and LUCENE-753 (NIOFSDirectory), at least on non-Windows platforms. Based on this user report it seems like sharing an IndexReader across multiple threads in fact gives better performance than thread-private IndexReader instances: http://www.nabble.com/IndexSearcher-and-multi-threaded-performance-td20449375.html > Using IndexSearcher in a multithreaded context causes contention > ---------------------------------------------------------------- > > Key: LUCENE-1309 > URL: https://issues.apache.org/jira/browse/LUCENE-1309 > Project: Lucene - Java > Issue Type: Bug > Affects Versions: 2.3.1, 2.3.2 > Environment: * WinXP, Dual Core Centrino > * Opensuse Linux, Dual Core AMD > java version "1.6.0_06" > Java(TM) SE Runtime Environment (build 1.6.0_06-b02) > Java HotSpot(TM) Client VM (build 10.0-b22, mixed mode, sharing) > Reporter: Rene Schwietzke > Attachments: yad.zip > > > The attached code allows to search with a single IndexSearcher across threads > or with a single instance per Thread, additionally it allows to deals with > String.intern in Field from LUCENE-1308. > Really interesting is the behavior of the current implementation (Field > String.intern) The performance improves dramatically. > Is this by design? Because it is usually recommended to reuse the > IndexSearcher. How about a version to supports mult-threading much better > basically delivering a read-only view? > The following results have been measured. The [main] part is a single > threaded run. The following thread results > _Field String.intern, Single Searcher_ > [main] Search took: 3453ms > [Thread-2] Search took: 17812ms > [Thread-3] Search took: 18313ms > [Thread-1] Search took: 18234ms > [Thread-0] Search took: 18562ms > _Field WeakHashMap, Single Searcher_ > [main] Search took: 3156ms > [Thread-3] Search took: 14953ms > [Thread-1] Search took: 15593ms > [Thread-0] Search took: 15656ms > [Thread-2] Search took: 16188ms > _Field ConcurrentHashMap, Single Searcher_ > [main] Search took: 2844ms > [Thread-1] Search took: 14812ms > [Thread-0] Search took: 14890ms > [Thread-2] Search took: 15172ms > [Thread-3] Search took: 14656ms > _Field intern, Searcher per Thread_ > [main] Search took: 3687ms > [Thread-2] Search took: 10766ms > [Thread-1] Search took: 10734ms > [Thread-0] Search took: 11047ms > [Thread-3] Search took: 10938ms > _Field Weak, Searcher per Thread_ > [main] Search took: 3187ms > [Thread-3] Search took: 11625ms > [Thread-2] Search took: 12484ms > [Thread-1] Search took: 12609ms > [Thread-0] Search took: 12391ms > _Field Concurrent, Searcher per Thread_ > [main] Search took: 2938ms > [Thread-3] Search took: 10203ms > [Thread-2] Search took: 10360ms > [Thread-1] Search took: 10406ms > [Thread-0] Search took: 10719ms -- 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]