You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Michael McCandless (JIRA)" <ji...@apache.org> on 2014/05/01 00:05:16 UTC

[jira] [Commented] (LUCENE-5634) Reuse TokenStream instances in Field

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

Michael McCandless commented on LUCENE-5634:
--------------------------------------------

Initial patch, but I'd like to find a way to reuse NumericTokenStream
too ... but it's trickier since the precStep is final (maybe we can
un-final it and add a setter?)

I ran a quick test, indexing all (8.6 M docs) of Geonames, which is a
good test for "tiny documents" ... with trunk it 56 seconds and with
the patch it's 45 seconds, ~20% faster.


> Reuse TokenStream instances in Field
> ------------------------------------
>
>                 Key: LUCENE-5634
>                 URL: https://issues.apache.org/jira/browse/LUCENE-5634
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Michael McCandless
>             Fix For: 4.9, 5.0
>
>         Attachments: LUCENE-5634.patch
>
>
> If you don't reuse your Doc/Field instances (which is very expert: I
> suspect few apps do) then there's a lot of garbage created to index each
> StringField because we make a new StringTokenStream or
> NumericTokenStream (and their Attributes).
> We should be able to re-use these instances via a static
> ThreadLocal...



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org