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