Reduce usage of String.intern(), performance is terrible
--------------------------------------------------------
Key: LUCENE-1600
URL: https://issues.apache.org/jira/browse/LUCENE-1600
Project: Lucene - Java
Issue Type: Improvement
Affects Versions: 2.4.1, 2.4
Environment: Windows Server 2003 x64
Hotspot JDK 1.6.0_12 64-bit
Reporter: P Eger
Priority: Minor
Attachments: intern.png, intern_perf.patch
I profiled a simple MatchAllDocsQuery() against ~1.5 million documents (8
fields of short text, Field.Store.YES,Field.Index.NOT_ANALYZED_NO_NORMS), then
retrieved all documents via searcher.doc(i, fs). String.intern() showed up as a
top hotspot (see attached screenshot), so i implemented a small optimization to
not intern() for every new Field(), instead forcing the intern in the
FieldInfos class and adding a optional "internName" constructor to Field. This
reduced execution time for searching and iterating through all documents by
35%. Results were similar for -server and -client.
TRUNK (2.9) w/out patch: matched 1435563 in 8884 ms/search
TRUNK (2.9) w/patch: matched 1435563 in 5786 ms/search
--
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]