PHP 4.0 Bug #6608: sizeof($array) extremly slow in loop. 90% cpu util
| From: | mledet at spirenet dot com | Date: | Thu, 07 Sep 2000 17:01:24 +0000 |
| Subject: | PHP 4.0 Bug #6608: sizeof($array) extremly slow in loop. 90% cpu util | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-32582@lists.php.net to get a copy of this message | ||
From: mledet@spirenet.com
Operating system: Linux 2.2.16
PHP version: 4.0.2
PHP Bug Type: Arrays related
Bug description: sizeof($array) extremly slow in loop. 90% cpu util
The following code performed well under 3.0.16.
for ($i=0; $i < sizeof($teacherarray); $i++) {
$a=$teacher_array[$i];
if ($a->teacher_id==$teacher_id) {
break;
}
}
However, under php 4.0.2 it is extrememly slow and causes cpu util for the httpd process to hit 90%.
$teacherarray is not being modified during the loop so the condition isn't changing.
BTW: Changing to the following code works ok.
$numteachers = sizeof($teacherarray);
for ($i=0; $i < $numteachers; $i++) {
$a=$teacher_array[$i];
if ($a->teacher_id==$teacher_id) {
break;
}
}
Either the sizeof function has had a serious decrease in its speed or something is awry..