You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Myroslav Kosinskyi (JIRA)" <ji...@apache.org> on 2016/05/23 08:58:12 UTC

[jira] [Created] (THRIFT-3839) Performance issue with big message deserialization using php extension

Myroslav Kosinskyi created THRIFT-3839:
------------------------------------------

             Summary: 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, 1.0
            Reporter: Myroslav Kosinskyi
             Fix For: 1.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.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)