[
https://issues.apache.org/jira/browse/LUCENE-7391?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15391936#comment-15391936
]
ASF subversion and git services commented on LUCENE-7391:
---------------------------------------------------------
Commit d85a9718564abf3dd33f66d057f8cfc835a56715 in lucene-solr's branch
refs/heads/branch_6x from [~dsmiley]
[ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=d85a971 ]
LUCENE-7391: Fix MemoryIndex fields() perf regression
(cherry picked from commit dcc9a4b)
> MemoryIndexReader.fields() performance regression
> -------------------------------------------------
>
> Key: LUCENE-7391
> URL: https://issues.apache.org/jira/browse/LUCENE-7391
> Project: Lucene - Core
> Issue Type: Bug
> Affects Versions: 6.0
> Reporter: Steve Mason
> Assignee: David Smiley
> Attachments: LUCENE-7391-test.patch, LUCENE-7391.patch,
> LUCENE-7391.patch
>
>
> While upgrading our codebase from Lucene 4 to Lucene 6 we found a significant
> performance regression - a 5x slowdown
> On profiling the code, the method MemoryIndexReader.fields() shows up as one
> of the hottest methods
> Looking at the method, it just creates a copy of the inner {{fields}} Map
> before passing it to {{MemoryFields}}. It does this so that it can filter out
> fields with {{numTokens <= 0}}.
> The simplest "fix" would be to just remove the copying of the map completely,
> and pass {{fields}} directly to {{MemoryFields}}. It's simple and removes
> any slowdown caused by this method. It does potentially change behaviour
> though, but none of the unit tests seem to test that behaviour so I wonder
> whether it's necessary (I looked at the original ticket LUCENE-7091 that
> introduced this code, I can't find much in way of an explanation). I'm going
> to attach a patch to this effect anyway and we can take things from there
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]