#44505 [Com]: include_once behavior when including UNC file

2008-04-03 Thread mh at nextra dot ch
 ID:   44505
 Comment by:   mh at nextra dot ch
 Reported By:  lmeyer at ea dot com
 Status:   Open
 Bug Type: Performance problem
 Operating System: windows 2003
 PHP Version:  5.2CVS-2008-03-25
 New Comment:

It's still there in 5.3.0-dev.


Previous Comments:


[2008-04-02 19:05:43] mh at nextra dot ch

Same here. 

Including a file with full path spec (i.e.
k:\www\testserver.com\docs\inc.php) is the fastest here:
include_once count in 5 sec: 1356

Simply including the same file witout giving the full path spec is
extremly slow:
include_once count in 5 sec: 170



[2008-03-25 21:38:24] lmeyer at ea dot com

WIN PATH : //NAS/nas/www/adodb5/adodb.inc.php
LNX PATH : NAS\\nas\\www\\adodb5\\adodb.inc.php
REALPATH : using realpath as suggested in bug#44125

  WIN PATH  LNX PATH  WIN PATH   LNX PATH
  REALPATH   REALPATH
PHP 5.2 Dev Snap
200803252030
 
FIRST INCLUDE ONCE (sec)  0.04  0.05  0.05   0.06
5sec. INCLUDE_ONCE (count)295358152   288045 282244

It's way better :), but still the problem remains for linux style path
without realpath.



[2008-03-24 22:26:18] lmeyer at ea dot com

Adding some results using php 5.2.3 and 5.2.5 :

WIN PATH : //NAS/nas/www/adodb5/adodb.inc.php
LNX PATH : NAS\\nas\\www\\adodb5\\adodb.inc.php
REALPATH : using realpath as suggested in bug#44125

  WIN PATH  LNX PATH  WIN PATH   LNX PATH
  REALPATH   REALPATH
PHP 5.2.3
FIRST INCLUDE ONCE (sec)  0.05  0.02  0.07   0.06
5sec. INCLUDE_ONCE (count)250   338488232332800

PHP 5.2.5
FIRST INCLUDE ONCE (sec)  0.08  0.07  0.06   0.14
5sec. INCLUDE_ONCE (count)215   228   310427 298643



[2008-03-23 12:06:23] [EMAIL PROTECTED]

Maybe, related to bug#44125



[2008-03-22 17:53:14] lmeyer at ea dot com

Description:

When using include_once with an abolute UNC file path, it is really
slow using php 5.2.5, php 5.2.4, and really fast using php 5.2.3

From the script below :
PHP 5.2.5 :
first include_once : //NAS/nas/www/adodb5/adodb.inc.php
time (ms): 0.068962097167969
include_once count in 5 sec: 240   

PHP 5.2.3 :
first include_once : //NAS/nas/www/adodb5/adodb.inc.php
time (ms): 0.030542135238647
include_once count in 5 sec: 376054 

Thanks !
Lo.





Reproduce code:
---
?php
// CASE MATTER 
$absolutepath = '//NAS/nas/www/adodb5/adodb.inc.php';
$durationsec = 5.0;
///
function sys_sinternal_microtime_float()
{
list($usec, $sec) = explode( , microtime());
return ((float)$usec + (float)$sec);
}
$t = sys_sinternal_microtime_float();
include_once('//NAS/nas/www/ea-land/private/prod/libs/adodb5/adodb.inc.php');
$t = sys_sinternal_microtime_float() - $t;
echo 'first include_once : '.$absolutepath.'br';
echo 'time (ms): '.$t.'br';

$cnt  = 0;
$t = sys_sinternal_microtime_float();
while(sys_sinternal_microtime_float() - $t  $durationsec)
{
$cnt++;

include_once('//NAS/nas/www/ea-land/private/prod/libs/adodb5/adodb.inc.php');
}
echo 'include_once count in '.$durationsec.' sec: '.$cnt;
echo 'br';
?

Expected result:

Include_once should include_once should only include a file once
whitout doing extra processing as long as the file has an absolute path.

Actual result:
--
It's wotking well with php 5.2.3, but not anymore from php 5.2.4.





-- 
Edit this bug report at http://bugs.php.net/?id=44505edit=1



#44505 [Com]: include_once behavior when including UNC file

2008-04-02 Thread mh at nextra dot ch
 ID:   44505
 Comment by:   mh at nextra dot ch
 Reported By:  lmeyer at ea dot com
 Status:   Open
 Bug Type: Performance problem
 Operating System: windows 2003
 PHP Version:  5.2CVS-2008-03-25
 New Comment:

Same here. 

Including a file with full path spec (i.e.
k:\www\testserver.com\docs\inc.php) is the fastest here:
include_once count in 5 sec: 1356

Simply including the same file witout giving the full path spec is
extremly slow:
include_once count in 5 sec: 170


Previous Comments:


[2008-03-25 21:38:24] lmeyer at ea dot com

WIN PATH : //NAS/nas/www/adodb5/adodb.inc.php
LNX PATH : NAS\\nas\\www\\adodb5\\adodb.inc.php
REALPATH : using realpath as suggested in bug#44125

  WIN PATH  LNX PATH  WIN PATH   LNX PATH
  REALPATH   REALPATH
PHP 5.2 Dev Snap
200803252030
 
FIRST INCLUDE ONCE (sec)  0.04  0.05  0.05   0.06
5sec. INCLUDE_ONCE (count)295358152   288045 282244

It's way better :), but still the problem remains for linux style path
without realpath.



[2008-03-24 22:26:18] lmeyer at ea dot com

Adding some results using php 5.2.3 and 5.2.5 :

WIN PATH : //NAS/nas/www/adodb5/adodb.inc.php
LNX PATH : NAS\\nas\\www\\adodb5\\adodb.inc.php
REALPATH : using realpath as suggested in bug#44125

  WIN PATH  LNX PATH  WIN PATH   LNX PATH
  REALPATH   REALPATH
PHP 5.2.3
FIRST INCLUDE ONCE (sec)  0.05  0.02  0.07   0.06
5sec. INCLUDE_ONCE (count)250   338488232332800

PHP 5.2.5
FIRST INCLUDE ONCE (sec)  0.08  0.07  0.06   0.14
5sec. INCLUDE_ONCE (count)215   228   310427 298643



[2008-03-23 12:06:23] [EMAIL PROTECTED]

Maybe, related to bug#44125



[2008-03-22 17:53:14] lmeyer at ea dot com

Description:

When using include_once with an abolute UNC file path, it is really
slow using php 5.2.5, php 5.2.4, and really fast using php 5.2.3

From the script below :
PHP 5.2.5 :
first include_once : //NAS/nas/www/adodb5/adodb.inc.php
time (ms): 0.068962097167969
include_once count in 5 sec: 240   

PHP 5.2.3 :
first include_once : //NAS/nas/www/adodb5/adodb.inc.php
time (ms): 0.030542135238647
include_once count in 5 sec: 376054 

Thanks !
Lo.





Reproduce code:
---
?php
// CASE MATTER 
$absolutepath = '//NAS/nas/www/adodb5/adodb.inc.php';
$durationsec = 5.0;
///
function sys_sinternal_microtime_float()
{
list($usec, $sec) = explode( , microtime());
return ((float)$usec + (float)$sec);
}
$t = sys_sinternal_microtime_float();
include_once('//NAS/nas/www/ea-land/private/prod/libs/adodb5/adodb.inc.php');
$t = sys_sinternal_microtime_float() - $t;
echo 'first include_once : '.$absolutepath.'br';
echo 'time (ms): '.$t.'br';

$cnt  = 0;
$t = sys_sinternal_microtime_float();
while(sys_sinternal_microtime_float() - $t  $durationsec)
{
$cnt++;

include_once('//NAS/nas/www/ea-land/private/prod/libs/adodb5/adodb.inc.php');
}
echo 'include_once count in '.$durationsec.' sec: '.$cnt;
echo 'br';
?

Expected result:

Include_once should include_once should only include a file once
whitout doing extra processing as long as the file has an absolute path.

Actual result:
--
It's wotking well with php 5.2.3, but not anymore from php 5.2.4.





-- 
Edit this bug report at http://bugs.php.net/?id=44505edit=1