[ https://issues.apache.org/jira/browse/THRIFT-4007?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James E. King, III resolved THRIFT-4007. ---------------------------------------- Resolution: Fixed Fix Version/s: 0.11.0 Committed - thanks! > 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)