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

George Cao commented on THRIFT-2252:
------------------------------------

[~ben.craig], generated processing code uses the function name also. So I think 
we need more modifications. 

> Optimize the overhead of the tag message of the request
> -------------------------------------------------------
>
>                 Key: THRIFT-2252
>                 URL: https://issues.apache.org/jira/browse/THRIFT-2252
>             Project: Thrift
>          Issue Type: Improvement
>            Reporter: George Cao
>              Labels: optimization, payload, perfomance
>
> For now, every request the client sent consists of  a tag message(TMessage) 
> and the API arguments.
> This tag message includes the API name(method name), message type and a 
> sequence ID. 
> Compare to the API arguments which usually are some structure data like 
> integers, the tag message will cause a lot of overhead because of the API 
> name string.
> For example, assume we have an API like this in Java:
> {code}
> int getSomeEntityById(int id);
> {code}
> The the tag message will takes *len("getSomeEntityById") + 1 + 4 = 22* bytes 
> and the API arguments only takes 4 bytes.
>  
> Even worse if we support multiplexing, because we need append additional 
> service name at the beginning of the API name.
> So shall we assign an ID to each API like struct's every property has an ID?  
> Then we can avoid using the verbose string names.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to