.dev/benchmarks/dir_recursive_bench.php

Summary

Maintainability
A
0 mins
Test Coverage
#!/usr/bin/env php
<?php

$argv[1] = '/home/www/test2/';
require dirname(__DIR__) . '/scripts/scripts_init.php';

class bench
{
    public function __toString()
    {
        $out = [];
        foreach (get_class_methods($this) as $name) {
            if ($name[0] == '_') {
                continue;
            }
            $start_mem = memory_get_usage();
            $start_time = microtime(true);
            list($desc, $_files) = $this->$name();
            $files[$name] = $_files;
            $out[$name] = ++$i . ') ' . $desc . ' | time: ' . round(microtime(true) - $start_time, 3) . ' | mem: ' . (memory_get_usage() - $start_mem) . ' | peakmem: ' . memory_get_peak_usage() . ' | found: ' . count((array) $_files);
        }
        return print_r($files, 1) . PHP_EOL . implode(PHP_EOL, $out) . PHP_EOL;
    }
    public function dir_scan()
    {
        $files = _class('dir')->scan(YF_PATH, 1, '-f ~gallery.*.php$~ims');
        return ['_class("dir")->scan()', $files];
    }
    public function dir_iterate()
    {
        $files = _class('dir')->riterate(YF_PATH, '~gallery.*\.php$~ims');
        return ['_class("dir")->riterate()', $files];
    }
    public function dir_scan_fast()
    {
        $files = _class('dir')->scan_fast(YF_PATH, '~gallery.*.php$~ims');
        return ['_class("dir")->scan_fast()', $files];
    }
    public function dir_rglob()
    {
        $files = _class('dir')->rglob(YF_PATH, '*gallery*.php');
        return ['_class("dir")->rglob()', $files];
    }
    public function dir_find()
    {
        $files = _class('dir')->find(YF_PATH, '*gallery*.php');
        return ['_class("dir")->find()', $files];
    }
    //    function dir_grep() {
    //        $files = _class('dir')->grep('~github~', YF_PATH, '*gallery*.php');
    //        return array('_class("dir")->grep() for word github', $files);
    //    }
}

echo new bench();