[ https://issues.apache.org/jira/browse/THRIFT-1521?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
D. Edler updated THRIFT-1521: ----------------------------- Description: There are two double function calls in the transport classes to strlen, which can easily prevented. See the attached patch file. (was: There are two double Function calls to strlen, which can easily prevented. Index: trunk/lib/php/src/transport/TTransport.php =================================================================== --- trunk/lib/php/src/transport/TTransport.php (revision 1292723) +++ trunk/lib/php/src/transport/TTransport.php (working copy) @@ -81,7 +81,7 @@ public function readAll($len) { // return $this->read($len); - $data = ''; + $data = $this->read($len - $got); $got = 0; while (($got = TStringFuncFactory::create()->strlen($data)) < $len) { $data .= $this->read($len - $got); Index: trunk/lib/php/src/transport/TMemoryBuffer.php =================================================================== --- trunk/lib/php/src/transport/TMemoryBuffer.php (revision 1292723) +++ trunk/lib/php/src/transport/TMemoryBuffer.php (working copy) @@ -54,13 +54,15 @@ } public function read($len) { - if (TStringFuncFactory::create()->strlen($this->buf_) === 0) { + $bufLength = TStringFuncFactory::create()->strlen($this->buf_); + + if ($bufLength === 0) { throw new TTransportException('TMemoryBuffer: Could not read ' . $len . ' bytes from buffer.', TTransportException::UNKNOWN); } - if (TStringFuncFactory::create()->strlen($this->buf_) <= $len) { + if ($bufLength <= $len) { $ret = $this->buf_; $this->buf_ = ''; return $ret;) > Two patches for more Performance > -------------------------------- > > Key: THRIFT-1521 > URL: https://issues.apache.org/jira/browse/THRIFT-1521 > Project: Thrift > Issue Type: Improvement > Components: PHP - Library > Affects Versions: 0.6.1, 0.7, 0.8, 0.9, 1.0, 1.1 > Reporter: D. Edler > Attachments: patch.diff > > Original Estimate: 10m > Remaining Estimate: 10m > > There are two double function calls in the transport classes to strlen, which > can easily prevented. See the attached patch file. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira