[ 
https://issues.apache.org/jira/browse/LUCENE-7419?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15427202#comment-15427202
 ] 

Michael McCandless commented on LUCENE-7419:
--------------------------------------------

+1, thanks [~rcmuir]

This is the apparent source of the very unexpected slowdown here: 
https://github.com/elastic/elasticsearch/pull/19867#issuecomment-240841821

Was quite "fun" to track down ;)

I'm still not sure why this affects my 2-socket (72 core) box but not my single 
socket (8 core) boxes, but when indexing geonames data with Elasticsearch this 
dynamic attribute lookup per {{StringField}} was exceptionally costly.

> performance bug in tokenstream.end()
> ------------------------------------
>
>                 Key: LUCENE-7419
>                 URL: https://issues.apache.org/jira/browse/LUCENE-7419
>             Project: Lucene - Core
>          Issue Type: Bug
>            Reporter: Robert Muir
>         Attachments: LUCENE-7419.patch
>
>
> TokenStream.end() calls getAttribute(), which is pretty costly to do 
> per-stream.
> It does its current hack, because in the ctor of TokenStream is "too early".
> Instead, we can just add a variant of clear(), called end() to AttributeImpl. 
> For most attributes it defers to clear, but for PosIncAtt it can handle the 
> special case.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to