Closed staabm closed 8 months ago
The biggest offender when it comes to performance here is roave/infection-static-analysis-plugin
operating (under the hood) with Psalm's analysis, which needs more tuning around file consistency checks, perhaps.
It's still faster than running all the mutants, but it's also still very slow when considering analysis on a limited set of changed files.
I need to dive into roave/infection-static-analysis-plugin
to understand more what it is actually doing :-).
my naiv thinking of this PR was/is: xdebug makes everything super slow. maybe pcov does have less function call overhead etc and might speedup it. lets see.
It's really tiny. For each escaped mutant process (generated mutation), it will run static analysis:
In there, the major-major performance bottleneck is:
if ($this->runStaticAnalysis->isMutantStillValidAccordingToStaticAnalysis($mutantProcess->getMutant())) {
do you think we could use --filter
and run several jobs in parallel ?
Possibly, but CI is not as frequent here, so 15m are not worth wasting time on, unless you are looking for very specific mutants.
just a test whether this speedsup the CI pipeline