kdaviesnz / callbackfileiterator

一个迭代文件并应用用户定义的回调的类。

2.0.1 2018-04-28 07:37 UTC

This package is not auto-updated.

Last update: 2024-09-29 05:35:00 UTC


README

一个迭代文件并应用用户定义的回调的类。

请注意,使用并行处理选项不一定能导致速度提升。这完全取决于回调的速度有多慢。

安装

通过Composer

$ composer require kdaviesnz/callbackfileiterator

用法

        require_once("vendor/autoload.php");
        require_once("src/CallbackFileIterator.php");

		require_once("src/CallbackFileIterator.php");
		$callback = function() {
			return function(string $filename) {
				echo $filename . "\n";
				sleep (1);
			};
		};

        $callbackIterator = new CallbackFileIterator();
        $recursive = true;
        $parallel = true;

        // Parallel
        $parallelStartTime = \microtime(true);
        $callbackIterator->run(".", $callback(), $recursive, $parallel);
        $parallelEndTime = \microtime(true);

        // Non parallel
        $nonParallelStartTime = \microtime(true);
        $callbackIterator->run(".", $callback(), $recursive, $parallel);
        $nonParallelEndTime = \microtime(true);

        $parallelTime = $parallelEndTime - $parallelStartTime;
        $nonParallelTime = $nonParallelEndTime - $nonParallelStartTime;

        echo "Parallel took $parallelTime ms\n";
        echo "Non parallel took $nonParallelTime ms\n";

变更日志

有关最近更改的更多信息,请参阅CHANGELOG.md。

测试

$ composer test

贡献

请参阅CONTRIBUTING.md和CODE_OF_CONDUCT.md以获取详细信息。

安全

如果您发现任何安全相关的问题,请通过电子邮件kdaviesnz@gmail.com联系,而不是使用问题跟踪器。

鸣谢

许可证

MIT许可证(MIT)。有关更多信息,请参阅LICENSE.md。

CallbackFileIterator