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