thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James E. King, III (JIRA)" <j...@apache.org>
Subject [jira] [Assigned] (THRIFT-4007) Micro-optimization of TTransport.py
Date Wed, 01 Feb 2017 12:18:51 GMT

     [ 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)

Mime
View raw message