TargetedScanner.scan(targets:) currently scans each target sequentially. Use TaskGroup to scan multiple targets in parallel.
Task
In Sources/MacClean/Core/Scanner/TargetedScanner.swift, refactor scan(targets:) to fan out one task per target. Aggregate results when all complete.
Benchmark
Before opening the PR, share before/after timings for scanning the SystemJunk targets on your Mac:
time swift run MacCleanTestRunner --filter SystemJunk
Files to change
Sources/MacClean/Core/Scanner/TargetedScanner.swift
TargetedScanner.scan(targets:)currently scans each target sequentially. UseTaskGroupto scan multiple targets in parallel.Task
In
Sources/MacClean/Core/Scanner/TargetedScanner.swift, refactorscan(targets:)to fan out one task per target. Aggregate results when all complete.Benchmark
Before opening the PR, share before/after timings for scanning the SystemJunk targets on your Mac:
time swift run MacCleanTestRunner --filter SystemJunkFiles to change
Sources/MacClean/Core/Scanner/TargetedScanner.swift