#35658 [Fbk->Opn]: date function slower than in 5.0.5

From: Date: Tue, 13 Dec 2005 12:27:16 +0000
Subject: #35658 [Fbk->Opn]: date function slower than in 5.0.5
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-90358@lists.php.net to get a copy of this message
ID: 35658 User updated by: renffeh at yahoo dot com Reported By: renffeh at yahoo dot com -Status: Feedback +Status: Open Bug Type: Performance problem Operating System: Windows XP PHP Version: 5.1.1 New Comment: I added E_STRICT to the error reporting and saw the messages about the time zone, so I added "date.timezone = US/Eastern" to my PHP.ini and now my execution time is 0.125. Adding 'date_default_timezone_set("US/Eastern");' to my script brings it down to 0.095. Still slower, but much better. Previous Comments: ------------------------------------------------------------------------ [2005-12-13 13:15:38] tony2001@php.net Please answer to Derick. Thanks. ------------------------------------------------------------------------ [2005-12-13 13:11:49] renffeh at yahoo dot com I just checked this on PHP 4.4.1 and the execution time was similar to that of 5.0.5 Mike ------------------------------------------------------------------------ [2005-12-13 13:00:56] derick@php.net Do you have error reporting set to E_ALL | E_STRICT? ------------------------------------------------------------------------ [2005-12-13 12:57:12] renffeh at yahoo dot com Description: ------------ Has the date function slowed from PHP 5.0.5 to PHP 5.1.1? When testing with the code below, my output is: PHP 5.0.5: 0.044 PHP 5.1.1: 0.938 If I comment out the $d = ... line, my output is: PHP 5.0.5: 0.003 PHP 5.1.1: 0.001 ...so I know it's the date function that is responsible for the slower time. Has anyone else seen evidence of this? (I'm using Windows XP SP2 with the PHP Zip packages) Mike Heffner Reproduce code: --------------- <?php function get_microtime() { list($usec,$sec) = explode(" ",microtime()); return((float)$sec + (float)$usec); } $t1 = get_microtime(); for ($x=0; $x<10000; $x++) { $d = date("Y-m-d H:i:s"); } $t2 = get_microtime(); printf("%.3f\n",($t2-$t1)); ?> ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=35658&edit=1

« previous php.bugs (#90358) next »