ID: 19971 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] -Status: Feedback +Status: Open Bug Type: *Directory/Filesystem functions Operating System: any PHP Version: 4.3.0-dev
Previous Comments: ------------------------------------------------------------------------ [2002-10-18 06:25:17] [EMAIL PROTECTED] file_get_contents() is alow slow. It's better than file(), though. [yohgaki@dev DEV]$ cat t.php <?php $filename = '/var/log/httpd/error_log.1'; require("Benchmark/Timer.php"); $time = new Benchmark_Timer; $time -> setMarker('Start'); $fp = fopen($filename,'r'); for ($i = 0; $i<100; $i++) $s = fread($fp, filesize($filename)); fclose($fp); $time -> setMarker('fread'); for ($i = 0; $i<100; $i++) $s = file($filename); $time -> setMarker('file'); for ($i = 0; $i<100; $i++) $s = file_get_contents($filename); $time -> setMarker('file_get_contents'); $time -> setMarker('Stop'); $time -> display(); ?> [yohgaki@dev DEV]$ ./sapi/cli/php t.php ------------------------------------------------------------------------- marker time index ex time perct ------------------------------------------------------------------------- Start 1034940250.73024800 - 0.00% ------------------------------------------------------------------------- fread 1034940250.74181700 0.011569023132324 1.86% ------------------------------------------------------------------------- file 1034940251.26557900 0.52376198768616 84.25% ------------------------------------------------------------------------- file_get_contents 1034940251.35169600 0.086117029190063 13.85% ------------------------------------------------------------------------- Stop 1034940251.35192900 0.00023293495178223 0.04% ------------------------------------------------------------------------- total - 0.62168097496033 100.00% ------------------------------------------------------------------------- ------------------------------------------------------------------------ [2002-10-18 06:16:02] [EMAIL PROTECTED] Please also compare with fgets(). ------------------------------------------------------------------------ [2002-10-18 06:13:19] [EMAIL PROTECTED] Please paste readable output... ================================ [yohgaki@dev DEV]$ cat t.php <?php $filename = '/var/log/httpd/error_log.1'; require("Benchmark/Timer.php"); $time = new Benchmark_Timer; $time -> setMarker('Start'); $fp = fopen($filename,'r'); for ($i = 0; $i<100; $i++) $s = fread($fp, filesize($filename)); fclose($fp); $time -> setMarker('fread'); for ($i = 0; $i<100; $i++) $s = file($filename); $time -> setMarker('file'); $time -> setMarker('Stop'); $time -> display(); ?> [yohgaki@dev DEV]$ ./sapi/cli/php t.php ------------------------------------------------------------- marker time index ex time perct ------------------------------------------------------------- Start 1034939438.53591700 - 0.00% ------------------------------------------------------------- fread 1034939438.55064400 0.014726996421814 2.74% ------------------------------------------------------------- file 1034939439.07360900 0.52296495437622 97.21% ------------------------------------------------------------- Stop 1034939439.07387800 0.00026905536651611 0.05% ------------------------------------------------------------- total - 0.53796100616455 100.00% ------------------------------------------------------------- [yohgaki@dev DEV]$ ------------------------------------------------------------------------ [2002-10-18 04:31:16] [EMAIL PROTECTED] <?php require("Benchmark/Timer.php"); $time = new Benchmark_Timer; $time -> setMarker('Start'); $fp = fopen("access.log", "r"); $s = explode("\n", fread($fp, filesize("access.log") ) ) ; fclose($fp); $time -> setMarker('fread'); $s = file("access.log"); $time -> setMarker('file'); $time -> setMarker('Stop'); $time -> display(); ?> access.log 16Mb fread + explode faster when file(). Hmmm... time indexex time% Start1034933111.79707300-0.00% fread1034933112.398477000.60140417.87% file1034933115.162048002.76357182.12% Stop1034933115.162183000.0001350.00% total-3.365110100.00% ------------------------------------------------------------------------ [2002-10-18 04:11:52] [EMAIL PROTECTED] It slow even with text files Sorry for Photoshop.exe-example I test it even with apache/logs/access.log ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/19971 -- Edit this bug report at http://bugs.php.net/?id=19971&edit=1