Skip to content

Conversation

The current algorithm is like "collect all included files and subtract all excluded files".
Collecting all included and all excluded files relies on the file system. This can become slow
when the patterns used to exclude files resolve to a large number of files.

The new approach only collects all lintable files and checks them against the exclude patterns.
This can be done by in-memory string-regex-match and does therefore not require file system accesses.

(cherry picked from commit 152355e)
@SwiftLintBot
Copy link

SwiftLintBot commented Nov 16, 2025

1 Warning
⚠️ Big PR
18 Messages
📖 Building this branch resulted in a binary size of 26783.23 KiB vs 26775.45 KiB when built on main (0% larger).
📖 Linting Aerial with this PR took 0.77 s vs 0.75 s on main (2% slower).
📖 Linting Alamofire with this PR took 1.06 s vs 1.0 s on main (6% slower).
📖 Linting Brave with this PR took 6.81 s vs 6.79 s on main (0% slower).
📖 Linting DuckDuckGo with this PR took 21.46 s vs 21.45 s on main (0% slower).
📖 Linting Firefox with this PR took 10.72 s vs 10.64 s on main (0% slower).
📖 Linting Kickstarter with this PR took 7.54 s vs 7.47 s on main (0% slower).
📖 Linting Moya with this PR took 0.44 s vs 0.45 s on main (2% faster).
📖 Linting NetNewsWire with this PR took 2.34 s vs 2.29 s on main (2% slower).
📖 Linting Nimble with this PR took 0.67 s vs 0.65 s on main (3% slower).
📖 Linting PocketCasts with this PR took 6.98 s vs 6.95 s on main (0% slower).
📖 Linting Quick with this PR took 0.43 s vs 0.37 s on main (16% slower).
📖 Linting Realm with this PR took 3.26 s vs 3.23 s on main (0% slower).
📖 Linting Sourcery with this PR took 1.82 s vs 1.74 s on main (4% slower).
📖 Linting Swift with this PR took 4.16 s vs 4.15 s on main (0% slower).
📖 Linting VLC with this PR took 1.09 s vs 1.06 s on main (2% slower).
📖 Linting Wire with this PR took 17.66 s vs 17.3 s on main (2% slower).
📖 Linting WordPress with this PR took 11.3 s vs 11.24 s on main (0% slower).

Generated by 🚫 Danger

@SimplyDanny SimplyDanny mentioned this pull request Nov 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants