ID: 48643 User updated by: z...@php.net Reported By: z...@php.net Status: Open Bug Type: SPL related Operating System: Linux (Ubuntu) PHP Version: 5.2CVS-2009-06-22 (CVS) New Comment:
I tested with PHP 5.2 but do not see the same issue. I believe this is specific to PHP 5.3. Previous Comments: ------------------------------------------------------------------------ [2009-06-22 12:32:02] z...@php.net By the way, I traced the memory consumption using xdebug: xdebug.auto_trace = on; xdebug.show_mem_delta = on; The first few lines are here http://pastebin.ca/1469804 This makes it look more like a bug with the way the accept() method is invoked inside PhptFilterIterator. ------------------------------------------------------------------------ [2009-06-22 11:41:59] z...@php.net Description: ------------ An excessive about of memory is used when a class which extends FilterIterator is used to filter for certain file types when scanning a source tree. Reproduce code: --------------- A small benchmark is provided in the tar file here:http://filebin.ca/okgvtt/memcheck.tar The file contains three tests which all use code in Util.php. To run the tests edit the shell script memcheck to add the top level directory of a PHP source tree as input to each test. Then just execute the shell script. The benchmarks produce a list of directories which contain .phpt files, the memory usage when the class PhptFilterIterator is used is 20 times higher than the other two methods. Expected result: ---------------- Would expect the memory usage to be similar. Actual result: -------------- Memory usage is 20 times higher. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=48643&edit=1