ID: 48164
Updated by: [email protected]
Reported By: uvealonso at gmail dot com
Status: Feedback
Bug Type: Performance problem
Operating System: Linux
PHP Version: 5.2.9
New Comment:
Can't reproduce with 5.2.9 CLI, could you provide some more details
about distribution, sapi, etc?
Or maybe test them on CLI?
(f...@debian):(~/code/src) $ time ./php-5.2.9/sapi/cli/php
~/tmp/while_48164-2.php > FOO2
real 0m15.011s
user 0m0.120s
sys 0m14.893s
(f...@debian):(~/code/src) $ time ./php-5.2.9/sapi/cli/php
~/tmp/while_48164.php > FOO
real 0m15.020s
user 0m0.160s
sys 0m14.749s
==> FOO <==
START AT: 1241598435.2784
==> FOO2 <==
START AT: 1241598254.2014
==> FOO <==
END AT: 15.000004053116
==> FOO2 <==
END AT: 15.000002145767
Previous Comments:
------------------------------------------------------------------------
[2009-05-06 19:49:40] uvealonso at gmail dot com
Ok, I give you this 2 codes:
First:
/////////////////////////////////////////////
$tiempo1=microtime(true);
print "START AT: ".$tiempo1."<br>";
//DO IT 15 SECONDS
while((microtime(true)-$tiempo1)<15){
//PRINT EVERY STEP
print "STEP: ".(microtime(true)-$tiempo1)."<br>";
}
//IT MUST END 15 SECS AFTER THE START
print "<br>END AT: ".(microtime(true)-$tiempo1);
Second:
//////////////////////////////////////////////////
$tm1=microtime(true);
print "START AT: ".$tm1."<br>";
$t=0;
//DO IT 15 SECONDS
while((microtime(true)-$tm1)<15){
//PRINT STEPS OF 0.1 SECS
if ((microtime(true)-$tm1)-$t>0.1){
print "STEP: ".(microtime(true)-$tm)."<br>";
$t=microtime(true)-$tm1;
}
}
//IT MUST END 15 SECS AFTER THE START
print "<br>END AT: ".(microtime(true)-$tm1);
The 2 scripts must stop inmediately after 15 secs.
The first works fine, but 2ยบ stops after 10 seconds...
You cant test it here:
First example:
http://www.4mula1.es/libraries/pruebas/timeout-test-1.php
Second example:
http://www.4mula1.es/libraries/pruebas/timeout-test-2.php
PS: They have exactly the same code that I have wrote in this comment.
------------------------------------------------------------------------
[2009-05-06 13:36:47] [email protected]
Not enough information was provided for us to be able
to handle this bug. Please re-read the instructions at
http://bugs.php.net/how-to-report.php
If you can provide more information, feel free to add it
to this bug and change the status back to "Open".
Thank you for your interest in PHP.
I really think we need even a rough description what func_modify()
does. From your description it could be a single complicated task or
something with thousands of iterations
------------------------------------------------------------------------
[2009-05-06 13:01:00] uvealonso at gmail dot com
Description:
------------
Sometimes, the script stops 10 secs after the start, and others, it
doesn't stop and complete the operations...
I have tested with the same data and parameters, and sometimes, it
stops 10 secs after the script starts.
max_execution_time is 500000
Reproduce code:
---------------
print "start";
while ($a){
func_modify($a); //Here is a function that modifies $a
}
print "end";
Expected result:
----------------
start
end
Actual result:
--------------
sometimes:
"start"
or
"start
end"
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=48164&edit=1