You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Bryan Duxbury (JIRA)" <ji...@apache.org> on 2008/12/31 23:41:44 UTC

[jira] Created: (THRIFT-246) Make #struct_fields part of the generated code rather than using reflection

Make #struct_fields part of the generated code rather than using reflection
---------------------------------------------------------------------------

                 Key: THRIFT-246
                 URL: https://issues.apache.org/jira/browse/THRIFT-246
             Project: Thrift
          Issue Type: Improvement
          Components: Compiler (Ruby), Library (Ruby)
            Reporter: Bryan Duxbury
            Priority: Minor


Instead of using Ruby reflection to get to the FIELDS hash, let's make it part of the generated struct code. This way, we can avoid the overhead of using reflection to get the object every time it's used. It's used very frequently, so it adds a pretty respectable amount of overhead to serialization/deserialization operations.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (THRIFT-246) Make #struct_fields part of the generated code rather than using reflection

Posted by "Bryan Duxbury (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-246?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bryan Duxbury updated THRIFT-246:
---------------------------------

    Patch Info: [Patch Available]

> Make #struct_fields part of the generated code rather than using reflection
> ---------------------------------------------------------------------------
>
>                 Key: THRIFT-246
>                 URL: https://issues.apache.org/jira/browse/THRIFT-246
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Compiler (Ruby), Library (Ruby)
>            Reporter: Bryan Duxbury
>            Assignee: Bryan Duxbury
>            Priority: Minor
>         Attachments: thrift-246.patch
>
>
> Instead of using Ruby reflection to get to the FIELDS hash, let's make it part of the generated struct code. This way, we can avoid the overhead of using reflection to get the object every time it's used. It's used very frequently, so it adds a pretty respectable amount of overhead to serialization/deserialization operations.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (THRIFT-246) Make #struct_fields part of the generated code rather than using reflection

Posted by "Bryan Duxbury (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-246?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bryan Duxbury reassigned THRIFT-246:
------------------------------------

    Assignee: Bryan Duxbury

> Make #struct_fields part of the generated code rather than using reflection
> ---------------------------------------------------------------------------
>
>                 Key: THRIFT-246
>                 URL: https://issues.apache.org/jira/browse/THRIFT-246
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Compiler (Ruby), Library (Ruby)
>            Reporter: Bryan Duxbury
>            Assignee: Bryan Duxbury
>            Priority: Minor
>         Attachments: thrift-246.patch
>
>
> Instead of using Ruby reflection to get to the FIELDS hash, let's make it part of the generated struct code. This way, we can avoid the overhead of using reflection to get the object every time it's used. It's used very frequently, so it adds a pretty respectable amount of overhead to serialization/deserialization operations.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (THRIFT-246) Make #struct_fields part of the generated code rather than using reflection

Posted by "Bryan Duxbury (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-246?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bryan Duxbury updated THRIFT-246:
---------------------------------

    Attachment: thrift-246.patch

This does the trick. It's as much as 10% faster, though it's still pure method call overhead. We can get rid of this method if we ever switch to a proper inheritance structure or use more generated code.

> Make #struct_fields part of the generated code rather than using reflection
> ---------------------------------------------------------------------------
>
>                 Key: THRIFT-246
>                 URL: https://issues.apache.org/jira/browse/THRIFT-246
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Compiler (Ruby), Library (Ruby)
>            Reporter: Bryan Duxbury
>            Priority: Minor
>         Attachments: thrift-246.patch
>
>
> Instead of using Ruby reflection to get to the FIELDS hash, let's make it part of the generated struct code. This way, we can avoid the overhead of using reflection to get the object every time it's used. It's used very frequently, so it adds a pretty respectable amount of overhead to serialization/deserialization operations.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (THRIFT-246) Make #struct_fields part of the generated code rather than using reflection

Posted by "Kevin Clark (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-246?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kevin Clark closed THRIFT-246.
------------------------------

    Resolution: Fixed

Cool, in 731806.

> Make #struct_fields part of the generated code rather than using reflection
> ---------------------------------------------------------------------------
>
>                 Key: THRIFT-246
>                 URL: https://issues.apache.org/jira/browse/THRIFT-246
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Compiler (Ruby), Library (Ruby)
>            Reporter: Bryan Duxbury
>            Assignee: Bryan Duxbury
>            Priority: Minor
>         Attachments: thrift-246.patch
>
>
> Instead of using Ruby reflection to get to the FIELDS hash, let's make it part of the generated struct code. This way, we can avoid the overhead of using reflection to get the object every time it's used. It's used very frequently, so it adds a pretty respectable amount of overhead to serialization/deserialization operations.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.