Nathan Jensen created THRIFT-4007:
-------------------------------------
Summary: 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
Priority: Trivial
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.4#6332)