[ 
https://issues.apache.org/jira/browse/THRIFT-110?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12624023#action_12624023
 ] 

Noble Paul commented on THRIFT-110:
-----------------------------------

bq. This type modifier mechanism could also be used to pass through the 
"extern" modifier on strings (and binary?):
The type modifier actually is a good idea, as you said it can mean different 
things for different types for instance for list type it can say 0 for 
homogeneous and 1 for heterogeneous. and for map it can say whether key or 
value or both are heterogeneous


bq. 0 = default (variable length encoding with non-negative preferred)
I guess the default should be fixed encoding same as the current binary protocol
bq. 1 = zipper (variable length encoding that also works well for small 
negative values)
small negative values. are you referring to the protocol buffer like zig-zag 
encoding?

bq. This type modifier mechanism could also be used to pass through the 
"extern" modifier on strings (and binary?):
bq. 0 = standard handling
OK some more modifiers
 1 = string is put in here but should be stored in a map of string->index
 2 = string should be read from the index and the next is a zipper int which 
gives the index of the stored string


> 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