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/07/11 19:51:10 UTC

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

Erick Erickson created SOLR-9296:
------------------------------------

             Summary: 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


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