Skip to content

Commit

Permalink
[Performance] Call UnchangedFilesFilter->filterFileInfos() only once …
Browse files Browse the repository at this point in the history
…on FilesFinder (#5464)
  • Loading branch information
samsonasik committed Jan 13, 2024
1 parent 38d716e commit b0f1e63
Showing 1 changed file with 9 additions and 8 deletions.
17 changes: 9 additions & 8 deletions src/FileSystem/FilesFinder.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@ public function findInDirectoriesAndFiles(array $source, array $suffixes = [], b
{
$filesAndDirectories = $this->filesystemTweaker->resolveWithFnmatch($source);

$filePaths = $this->fileAndDirectoryFilter->filterFiles($filesAndDirectories);
$filePaths = array_filter(
$filePaths,
$files = $this->fileAndDirectoryFilter->filterFiles($filesAndDirectories);
$filteredFilePaths = array_filter(
$files,
fn (string $filePath): bool => ! $this->pathSkipper->shouldSkip($filePath)
);

Expand All @@ -41,13 +41,14 @@ public function findInDirectoriesAndFiles(array $source, array $suffixes = [], b
$filePathExtension = pathinfo($filePath, PATHINFO_EXTENSION);
return in_array($filePathExtension, $suffixes, true);
};
$filePaths = array_filter($filePaths, $fileWithExtensionsFilter);
$filteredFilePaths = array_filter($filteredFilePaths, $fileWithExtensionsFilter);
}

$currentAndDependentFilePaths = $this->unchangedFilesFilter->filterFileInfos($filePaths);

$directories = $this->fileAndDirectoryFilter->filterDirectories($filesAndDirectories);
return [...$currentAndDependentFilePaths, ...$this->findInDirectories($directories, $suffixes, $sortByName)];
$filteredFilePathsInDirectories = $this->findInDirectories($directories, $suffixes, $sortByName);
$filePaths = [...$filteredFilePaths, ...$filteredFilePathsInDirectories];

return $this->unchangedFilesFilter->filterFileInfos($filePaths);
}

/**
Expand Down Expand Up @@ -94,7 +95,7 @@ private function findInDirectories(array $directories, array $suffixes, bool $so
$filePaths[] = $path;
}

return $this->unchangedFilesFilter->filterFileInfos($filePaths);
return $filePaths;
}

/**
Expand Down

0 comments on commit b0f1e63

Please sign in to comment.