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

Bryan Duxbury updated THRIFT-332:
---------------------------------

    Attachment: thrift-332-v5.patch

OK, here we go. It turns out we had a bug in struct.c that wasn't setting the 
native method table correctly when you go down the read path. I've fixed that 
and now both native protocols use the special hooks. Here's the updated 
performance table:

||proto||operation||time||
|binary protocol| write|2.025033|
|accelerated binary protocol|write|0.322201|
|compact protocol|write|0.361371|
|binary protocol|read|2.006195|
|accelerated binary protocol|read|0.551998|
|compact protocol|read|0.560213|

You'll notice that both the accelerated protocols got faster on read as a 
result of this fix. The accelerated binary protocol was very likely not using 
the right reading methods, which should be fixed now. On the whole, the 
performance of the compact accelerated protocol is on par with the binary 
accelerated protocol, which I think is pretty awesome.

> Compact Protocol in Ruby
> ------------------------
>
>                 Key: THRIFT-332
>                 URL: https://issues.apache.org/jira/browse/THRIFT-332
>             Project: Thrift
>          Issue Type: Sub-task
>          Components: Library (Ruby)
>            Reporter: Bryan Duxbury
>            Assignee: Bryan Duxbury
>            Priority: Trivial
>         Attachments: thrift-332-v2.patch, thrift-332-v3.patch, 
> thrift-332-v4.patch, thrift-332-v5.patch, thrift-332.patch
>
>


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

Reply via email to