[ https://issues.apache.org/jira/browse/LUCENE-1309?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12606094#action_12606094 ]
Yonik Seeley commented on LUCENE-1309: -------------------------------------- How many threads were used to do this test? bq. Because it is usually recommended to reuse the IndexSearcher Yes (actually the IndexReader is the important part to cache and re-use). Because of memory usage associated with an IndexReader, it would be much better to improve or fix multi-threaded behavior rather than use multiple IndexReaders. > 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]