thrift-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bryan Duxbury <br...@rapleaf.com>
Subject Re: thrift to Java mapping question: "list<byte>" mapping to "List<Byte>"
Date Sat, 30 Jul 2011 06:28:45 GMT
If you want efficient data structure for binary data, use the "binary"
thrift data type. It maps to ByteBuffer backed by a byte[] in Java.

On Thu, Jul 28, 2011 at 7:58 PM, Gautam Thaker <gthaker@verizon.net> wrote:

> I have a thrift file that has:
>
> typedef list<byte> OctetSeq
> typedef list<i32> IntegerSeq
>
> service ATL {
>        i16 octet_thruput(1:OctetSeq payload),
>        i16 integer_thruput(1:IntegerSeq payload)
> }
>
> The code produced by "-gen java" uses the following:
>
>
> OctetSeq -> List<Byte>
> IntegerSeq -> List<Integer>
>
> This produces super inefficient code in Java. Is it possible for the
> mapping produced to use List<byte>  and List<int> ? I suspect their
> marshalling and transport and unmarshalling would be far more efficient.
>
> As comparison in CPP the mapping produced is:
>
> typedef std::vector<int8_t>  OctetSeq;
> typedef std::vector<int32_t>  IntegerSeq;
>
> respectively, and CPP is pretty effecient.
>
> Gautam
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message