Cache result of getBestFitRule (fixes #575) #365
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This was identified as a performance hotspot and the result is static
for each run, adding a cache dramatically speeds up some executions.
This is probably not the correct solution, but provides a dramatic speed-up in my cases. While
getBestFitRule
is called only once for each dependency independency-updates-report
andplugin-updates-report
, it is called over and over inproperty-updates-report
(over 38,000,000 times in one of my sample projects). Unfortunately, I got lost in the call-graph pretty quickly - so if someone could prod me into the right direction for a better fix, that would be appreciated.