Skip to content

Commit

Permalink
fix: Performance improvements using SimpleCachingIteratorAggregate.
Browse files Browse the repository at this point in the history
  • Loading branch information
drupol committed Jun 3, 2022
1 parent ab5f9f0 commit 51e7d6f
Show file tree
Hide file tree
Showing 8 changed files with 16 additions and 17 deletions.
3 changes: 1 addition & 2 deletions phpstan-baseline.neon
Expand Up @@ -121,7 +121,7 @@ parameters:
path: src/Operation/GroupBy.php

-
message: "#^Parameter \\#1 \\.\\.\\.\\$ of closure expects callable\\(mixed, mixed, iterable\\)\\: bool, Closure\\(mixed, mixed, loophp\\\\iterators\\\\CachingIteratorAggregate\\)\\: bool given\\.$#"
message: "#^Parameter \\#1 \\.\\.\\.\\$ of closure expects callable\\(mixed, mixed, iterable\\)\\: bool, Closure\\(mixed, mixed, loophp\\\\iterators\\\\SimpleCachingIteratorAggregate\\)\\: bool given\\.$#"
count: 1
path: src/Operation/Init.php

Expand Down Expand Up @@ -214,4 +214,3 @@ parameters:
message: "#^Template type UKey of method loophp\\\\collection\\\\Operation\\\\Zip\\:\\:__invoke\\(\\) is not referenced in a parameter\\.$#"
count: 1
path: src/Operation/Zip.php

4 changes: 2 additions & 2 deletions src/Operation/DropWhile.php
Expand Up @@ -12,8 +12,8 @@
use Closure;
use Generator;
use loophp\collection\Utils\CallbacksArrayReducer;
use loophp\iterators\CachingIteratorAggregate;
use loophp\iterators\IterableIteratorAggregate;
use loophp\iterators\SimpleCachingIteratorAggregate;

/**
* @immutable
Expand Down Expand Up @@ -43,7 +43,7 @@ public function __invoke(): Closure
* @return Generator<TKey, T>
*/
static function (iterable $iterable) use ($callbacks): Generator {
$iteratorAggregate = (new CachingIteratorAggregate((new IterableIteratorAggregate($iterable))->getIterator()));
$iteratorAggregate = (new SimpleCachingIteratorAggregate((new IterableIteratorAggregate($iterable))->getIterator()));

$every = (new Every())()(
/**
Expand Down
6 changes: 3 additions & 3 deletions src/Operation/Init.php
Expand Up @@ -11,7 +11,7 @@

use Closure;
use Generator;
use loophp\iterators\CachingIteratorAggregate;
use loophp\iterators\SimpleCachingIteratorAggregate;

/**
* @immutable
Expand All @@ -34,9 +34,9 @@ public function __invoke(): Closure
/**
* @param T $value
* @param TKey $key
* @param CachingIteratorAggregate<TKey, T> $iterator
* @param SimpleCachingIteratorAggregate<TKey, T> $iterator
*/
static fn ($value, $key, CachingIteratorAggregate $iterator): bool => $iterator->hasNext()
static fn ($value, $key, SimpleCachingIteratorAggregate $iterator): bool => $iterator->hasNext()
);

// Point free style.
Expand Down
4 changes: 2 additions & 2 deletions src/Operation/Partition.php
Expand Up @@ -11,9 +11,9 @@

use Closure;
use Generator;
use loophp\iterators\CachingIteratorAggregate;
use loophp\iterators\ClosureIteratorAggregate;
use loophp\iterators\IterableIteratorAggregate;
use loophp\iterators\SimpleCachingIteratorAggregate;

/**
* @immutable
Expand Down Expand Up @@ -42,7 +42,7 @@ public function __invoke(): Closure
* @return Generator<int, iterable<TKey, T>>
*/
static function (iterable $iterable) use ($callbacks): Generator {
$iteratorAggregate = (new CachingIteratorAggregate((new IterableIteratorAggregate($iterable))->getIterator()));
$iteratorAggregate = (new SimpleCachingIteratorAggregate((new IterableIteratorAggregate($iterable))->getIterator()));

yield new ClosureIteratorAggregate((new Filter())()(...$callbacks), [$iteratorAggregate]);

Expand Down
4 changes: 2 additions & 2 deletions src/Operation/Since.php
Expand Up @@ -12,8 +12,8 @@
use Closure;
use Generator;
use loophp\collection\Utils\CallbacksArrayReducer;
use loophp\iterators\CachingIteratorAggregate;
use loophp\iterators\IterableIteratorAggregate;
use loophp\iterators\SimpleCachingIteratorAggregate;

/**
* @immutable
Expand Down Expand Up @@ -43,7 +43,7 @@ public function __invoke(): Closure
* @return Generator<TKey, T>
*/
static function (iterable $iterable) use ($callbacks): Generator {
$iteratorAggregate = (new CachingIteratorAggregate((new IterableIteratorAggregate($iterable))->getIterator()));
$iteratorAggregate = new SimpleCachingIteratorAggregate((new IterableIteratorAggregate($iterable))->getIterator());

$every = (new Every())()(
/**
Expand Down
4 changes: 2 additions & 2 deletions src/Operation/Span.php
Expand Up @@ -11,9 +11,9 @@

use Closure;
use Generator;
use loophp\iterators\CachingIteratorAggregate;
use loophp\iterators\ClosureIteratorAggregate;
use loophp\iterators\IterableIteratorAggregate;
use loophp\iterators\SimpleCachingIteratorAggregate;

/**
* @immutable
Expand Down Expand Up @@ -42,7 +42,7 @@ public function __invoke(): Closure
* @return Generator<int, iterable<TKey, T>>
*/
static function (iterable $iterable) use ($callbacks): Generator {
$iteratorAggregate = (new CachingIteratorAggregate((new IterableIteratorAggregate($iterable))->getIterator()));
$iteratorAggregate = new SimpleCachingIteratorAggregate((new IterableIteratorAggregate($iterable))->getIterator());

yield new ClosureIteratorAggregate((new TakeWhile())()(...$callbacks), [$iteratorAggregate]);

Expand Down
4 changes: 2 additions & 2 deletions src/Operation/TakeWhile.php
Expand Up @@ -12,8 +12,8 @@
use Closure;
use Generator;
use loophp\collection\Utils\CallbacksArrayReducer;
use loophp\iterators\CachingIteratorAggregate;
use loophp\iterators\IterableIteratorAggregate;
use loophp\iterators\SimpleCachingIteratorAggregate;

/**
* @immutable
Expand Down Expand Up @@ -43,7 +43,7 @@ public function __invoke(): Closure
* @return Generator<TKey, T>
*/
static function (iterable $iterable) use ($callbacks): Generator {
$iteratorAggregate = (new CachingIteratorAggregate((new IterableIteratorAggregate($iterable))->getIterator()));
$iteratorAggregate = new SimpleCachingIteratorAggregate((new IterableIteratorAggregate($iterable))->getIterator());

$every = (new Every())()(
/**
Expand Down
4 changes: 2 additions & 2 deletions src/Operation/Until.php
Expand Up @@ -12,8 +12,8 @@
use Closure;
use Generator;
use loophp\collection\Utils\CallbacksArrayReducer;
use loophp\iterators\CachingIteratorAggregate;
use loophp\iterators\IterableIteratorAggregate;
use loophp\iterators\SimpleCachingIteratorAggregate;

/**
* @immutable
Expand Down Expand Up @@ -43,7 +43,7 @@ public function __invoke(): Closure
* @return Generator<TKey, T>
*/
static function (iterable $iterable) use ($callbacks): Generator {
$iteratorAggregate = (new CachingIteratorAggregate((new IterableIteratorAggregate($iterable))->getIterator()));
$iteratorAggregate = new SimpleCachingIteratorAggregate((new IterableIteratorAggregate($iterable))->getIterator());

$every = (new Every())()(
/**
Expand Down

0 comments on commit 51e7d6f

Please sign in to comment.