note 79396 deleted from function.glob by bjori

From: Date: Fri, 21 Dec 2007 17:15:24 +0000
Subject: note 79396 deleted from function.glob by bjori
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-133868@lists.php.net to get a copy of this message
Note Submitter: David from CodeXplorer ---- After much testing I find that although glob() is much cleaner than opendir(), it is also much slower. I started by making a dir called "cache" in which I placed a single 65k html file filled with whitespace (just so I could have a large filesize without worrying about char output). Based on the code below <?php //Waste a little time to offset PHP's startup. for($i=0; $i<20; $i++) { print ' '; } $start_time = time()+microtime(true); ob_start(); for($x=0; $x < 20; $x++) { $dir = 'cache/'; if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { //Include the file include($file); //$value = rand(0, 10000) * 2345678; } closedir($dh); } } } ob_end_clean(); print ((time()+microtime(true)) - $start_time). ' (opendir time)<br />'; $start_time = time()+microtime(true); ob_start(); for($x=0; $x < 20; $x++) { //Include the function files foreach (glob("cache/*.html") as $file) { //Include the file include($file); //$value = rand(0, 10000) * 2345678; } } ob_end_clean(); print ((time()+microtime(true)) - $start_time). ' (glob time)<br />'; ?> The result was: 0.0069890022277832 (opendir time) 0.027945041656494 (glob time) So I can honestly recommend opendir if you plan on including the files in the dir.

« previous php.notes (#133868) next »