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