You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "John Wang (JIRA)" <ji...@apache.org> on 2015/03/09 03:52:38 UTC

[jira] [Updated] (THRIFT-3032) performance improvement for TBaseProcessor

     [ https://issues.apache.org/jira/browse/THRIFT-3032?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

John Wang updated THRIFT-3032:
------------------------------
    Description: A "TBaseProcessor" uses a map to store all the methods of a service.  I suggest that a array or "ArrayList" should be used. Methods can be identified by indices for which the worst-case complexity is O(1) while compute hash code for a string is not.  To achieve this goal, we may tell the compiler to generate a enumeration constant list of all the methods per service.  The ordinals of the enumeration constants need to be package into the messages rather than the name of methods.  And in theory network overhead should be reduced additionally.  (was: A "TBaseProcessor" uses a map to store all the methods of a service.  I suggest that a array or "ArrayList" should be used. Methods can be identified by indices for which the worst-case complexity is O(1) operation while compute hash code for a string is not.  To achieve this goal, we may tell the compiler to generate a enumeration constant list of all the methods per service.  The ordinals of the enumeration constants need to be package into the messages rather than the name of methods.  And in theory network overhead should be reduced additionally.)

> performance improvement for TBaseProcessor
> ------------------------------------------
>
>                 Key: THRIFT-3032
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3032
>             Project: Thrift
>          Issue Type: Story
>          Components: Java - Library
>    Affects Versions: 0.9.1, 0.9.2
>            Reporter: John Wang
>
> A "TBaseProcessor" uses a map to store all the methods of a service.  I suggest that a array or "ArrayList" should be used. Methods can be identified by indices for which the worst-case complexity is O(1) while compute hash code for a string is not.  To achieve this goal, we may tell the compiler to generate a enumeration constant list of all the methods per service.  The ordinals of the enumeration constants need to be package into the messages rather than the name of methods.  And in theory network overhead should be reduced additionally.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)