ID: 9260
Updated by: cynic
Reported By: [EMAIL PROTECTED]
Old-Status: Bogus
Status: Closed
Bug Type: Performance problem
Assigned To: 
Comments:

ah, concurrency...

Previous Comments:
---------------------------------------------------------------------------

[2001-02-14 09:18:41] [EMAIL PROTECTED]
1) microtime() isn't exactly microtime() on win32. IIRC it was improved somewhat 
_after_ the release of 4.0.4 pl1, but it still goes only to miliseconds. 

2) there are already bug reports concerning microtime.

bogusifying

---------------------------------------------------------------------------

[2001-02-14 09:18:01] [EMAIL PROTECTED]
This is not a performance problem, but a bug in the microtime function. It was 
recently fixed in CVS. Please try a snapshot from snaps.php.net. If the problem 
persists, please reopen this bugreport.

---------------------------------------------------------------------------

[2001-02-14 09:13:42] [EMAIL PROTECTED]
The following script only generates an array and walks through it with 2 different 
loops.
There are some strange effects while watching the durations of the loops.

1. Sometimes loop 1 is faster
1. Sometimes loop 2 is faster
1. Sometimes there is a negativ duration ... ?

PHP seems to behave in real bizarre way ... looks like it has a will of it's own ;-)

<?
function test()
{
 for ($i=0;$i<30000;$i++)
 {
  $GLOBALS['myVar'][$i]=$i;
 }
 $a = microtime();
 for ($i=0;$i<count($GLOBALS['myVar']);$i++)
 {
  $GLOBALS['myVar'][$i] = $GLOBALS['myVar'][$i] *2;
 }
 $b = microtime();
 foreach($GLOBALS['myVar'] as $i => $d)
 {
  $GLOBALS['myVar'][$i] = $d * 2;
 }
 $c = microtime();
 echo('Results ... <br>');
 echo("<b>$a<br>$b<br>$c</b><br>");
 list($m,$s)=explode(' ',$a);$a = doubleval($s)+doubleval($m);
 list($m,$s)=explode(' ',$b);$b = doubleval($s)+doubleval($m);
 list($m,$s)=explode(' ',$c);$c = doubleval($s)+doubleval($m);

 echo("<b>$a | $b | $c</b><br><br>");

 echo("Loop 1: ".($b-$a)." seconds<br>");
 echo("Loop 2: ".($c-$b)." seconds<br>");
 echo("<hr>");
}
test();test();test();test();test();
?>

---------------------------------------------------------------------------



ATTENTION! Do NOT reply to this email!
To reply, use the web interface found at http://bugs.php.net/?id=9260&edit=2


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to