[ 
https://issues.apache.org/jira/browse/THRIFT-4007?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

James E. King, III reassigned THRIFT-4007:
------------------------------------------

    Assignee: James E. King, III

> Micro-optimization of TTransport.py
> -----------------------------------
>
>                 Key: THRIFT-4007
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4007
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Python - Library
>            Reporter: Nathan Jensen
>            Assignee: James E. King, III
>            Priority: Trivial
>              Labels: easyfix, performance
>             Fix For: 0.11.0
>
>
> Method readAll(self, sz) in class TTransportBase in TTransport.py can be 
> optimized to only call len(chunk) once.  It currently calls len(chunk) twice, 
> i.e.
> {code}
> def readAll(self, sz):
>     buff = b''
>     have = 0
>     while (have < sz):
>         chunk = self.read(sz - have)     
>         have += len(chunk)
>         buff += chunk
>         if len(chunk) == 0:
>             raise EOFError()
>     return buff
> {code}
> That results in two method invocations to len(chunk) but it can be reduced to 
> one method invocation to len(chunk).  Depending on the amount of data being 
> read, the extra len(chunk) method invocations can add up to slightly slower 
> performance.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to