[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 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]