[
https://issues.apache.org/jira/browse/THRIFT-3839?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Aki Sukegawa resolved THRIFT-3839.
----------------------------------
Resolution: Fixed
Assignee: Myroslav Kosinskyi
Fix Version/s: (was: 1.0)
0.10.0
committed, thanks.
FWIW, serialization might be also affected.
> Performance issue with big message deserialization using php extension
> ----------------------------------------------------------------------
>
> Key: THRIFT-3839
> URL: https://issues.apache.org/jira/browse/THRIFT-3839
> Project: Thrift
> Issue Type: Improvement
> Components: PHP - Library
> Affects Versions: 0.9.3
> Reporter: Myroslav Kosinskyi
> Assignee: Myroslav Kosinskyi
> Fix For: 0.10.0
>
>
> I have found performance issue when tried to deserialize big thrift binary
> message with enabled thrift_protocol php extension.
> Messsage size was 10 mb and it took about 30 seconds to deserialize it.
> When i have done debug of php extension and php library i have found that
> issue is because small read buffer is used in TBufferedTransport and i cannot
> change it from TBinarySerializer::deserialize method.
> So i have added parameter $buffer_size to function
> thrift_protocol_read_binary from php extension.
> And also this parameter i have added to method TBinarySerializer::deserialize
> from php library.
> And i extended class Thrift\Transport\TMemoryBuffer by method putBack, so
> this class will be used for desearilization without TBufferedTransport
> warapper.
> After these changes it takes less than a second to deserizlize message with
> 10 mb size id read buffer 512 kb.
> Here is the pull request https://github.com/apache/thrift/pull/1014
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)