[
https://issues.apache.org/jira/browse/THRIFT-110?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12623249#action_12623249
]
Bryan Duxbury commented on THRIFT-110:
--------------------------------------
+1 to adding "unsigned" types.
It seems like using variable length ints could give us some reasonable gains in
a few different places. For instance, enumerated types are i32s, but I'm
guessing that whole number space isn't actually used very frequently. You could
save 3 bytes in some cases. Any time we have list sizes (list, map, string,
binary) we should be able to save some space. At least for Rapleaf, this seems
like it'd be a big win in terms of reducing the amount of I/O we'll do.
Should we be discussing creating a new protocol, or enhancing/formalizing
DenseProtocol, or what?
bq. again from Solr. We write everything as name and value where names may be
small but repeated
Are the names really variable, or could you use enumerated "strings" in the
name/value mappings?
> A more compact format
> ----------------------
>
> Key: THRIFT-110
> URL: https://issues.apache.org/jira/browse/THRIFT-110
> Project: Thrift
> Issue Type: Improvement
> Reporter: Noble Paul
>
> Thrift is not very compact in writing out data as (say protobuf) . It does
> not have the concept of variable length integers and various other
> optimizations possible . In Solr we use a lot of such optimizations to make a
> very compact payload. Thrift has a lot common with that format.
> It is all done in a single class
> http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/common/util/NamedListCodec.java?revision=685640&view=markup
> The other optimizations include writing type/value in same byte, very fast
> writes of Strings, externalizable strings etc
> We could use a thrift format for non-java clients and I would like to see it
> as compact as the current java version
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.