[
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