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)

Reply via email to