[ 
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.

Reply via email to