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

Bryan Duxbury commented on THRIFT-110:
--------------------------------------

Chad, I think I see what you're hinting at. One problem with the way Protocols 
are currently structured is that when you're writing the field type, you don't 
know the value yet. That is, you'll to writeFieldBegin(boolean, some id) before 
you subsequently do writeBoolean(true). We can either change the protocol 
interface to take the field info and the value at the same time, or we can make 
our new protocol stateful, so it doesn't actually write field header info until 
it's got the values too. This could be a very complex way to go.

> 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