You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Erick Erickson (JIRA)" <ji...@apache.org> on 2016/11/17 16:59:01 UTC

[jira] [Commented] (SOLR-9296) Examine SortingResponseWriter with an eye towards removing extra object creation

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

Erick Erickson commented on SOLR-9296:
--------------------------------------

What do people think about this? I'm thinking of updating this for ExportWriter, but don't want to bother if this seems like a bad idea. That said, if it's save I can't imagine why we _wouldn't_ want to do this unless there's some grand scheme that'll make it irrelevant. And for much the parallel stuff, the effects are multiplied by the number of times the writer is used cluster-wide.

Let me know before I start wasting time please ;)

> Examine SortingResponseWriter with an eye towards removing extra object creation
> --------------------------------------------------------------------------------
>
>                 Key: SOLR-9296
>                 URL: https://issues.apache.org/jira/browse/SOLR-9296
>             Project: Solr
>          Issue Type: Improvement
>      Security Level: Public(Default Security Level. Issues are Public) 
>    Affects Versions: 6.2, master (7.0)
>            Reporter: Erick Erickson
>            Assignee: Erick Erickson
>         Attachments: SOLR-9296.patch
>
>
> Assigning to myself just to keep from losing track it. Anyone who wants to take it, please feel free!
> While looking at SOLR-9166 I noticed that SortingResponseWriter does a toString for each field it writes out. At a _very_ preliminary examination it seems like we create a lot of String objects that need to be GC'd. Could we reduce this by using some kind of CharsRef/ByteBuffer/Whatever?
> I've only looked at this briefly, not quite sure what the gotchas are but throwing it out for discussion.
> Some initial thoughts:
> 1> for the fixed types (numerics, dates, booleans) there's a strict upper limit on the size of each value so we can allocate something up-front.
> 2> for string fields, we already get a chars ref so just pass that through?
> 3> must make sure that whatever does the actual writing transfers all the bytes before returning.
> I'm sure I won't get to this for a week or perhaps more, so grab it if you have the bandwidth.



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

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