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

Reply via email to