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)