[ http://issues.apache.org/jira/browse/LUCENE-568?page=comments#action_12378819 ]
Otis Gospodnetic commented on LUCENE-568: ----------------------------------------- Please provide a patch instead of the whole file, so your changes can be clearly seen. Here is how to do it: http://wiki.apache.org/jakarta-lucene/HowToContribute > [PATCH]Multiple threads performance enhancement when querying. > -------------------------------------------------------------- > > Key: LUCENE-568 > URL: http://issues.apache.org/jira/browse/LUCENE-568 > Project: Lucene - Java > Type: Improvement > Components: Search > Versions: 1.9 > Environment: OS: Red Hat EL 3 > Machine: Dual CPUs, 1024M Ram, 100Giga bytes SCSI disks. > Lucene 1.9.1 > JVM:JDK1.5.06 > Reporter: Yueyu Lin > Attachments: TermInfosReader.java > > This improvement will reduce the wait when TermInfosReader calls > ensureIndexIsRead(). > The small trick like below: > .... > private void ensureIndexIsRead() throws IOException { > if (indexTerms != null) // index already read > return; // do nothing > synchronized(this){ > System.out.println("Read [EMAIL PROTECTED]@"); > if(indexTerms != null){ > System.out.println ("Someone read it.return-_-"); > return ; > } > readIndex (); > } > } > > private synchronized void readIndex() throws IOException{ > Term[] m_indexTerms = null; > try { > int indexSize = (int)indexEnum.size; // otherwise read index > m_indexTerms = new Term[indexSize]; > indexInfos = new TermInfo[indexSize]; > indexPointers = new long[indexSize]; > for (int i = 0; indexEnum.next(); i++) { > m_indexTerms[i] = indexEnum.term(); > indexInfos[i] = indexEnum.termInfo(); > indexPointers[i] = indexEnum.indexPointer; > } > } finally { > indexEnum.close(); > indexEnum = null; > indexTerms = m_indexTerms; > } > } -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]