The cache hit is based on file path
|
if (_cachedInputs.TryGetValue(ruleSetPath, out HashSet<string> cachedResults)) |
however some projects may load the same ruleset file with different value of CodeAnalysisRuleSetDirectories. In case a ruleset file with includes and empty CodeAnalysisRuleSetDirectories is parsed (and cached), the included will be omitted. Subsequent parsing of the same ruleset file, will yield the same, small set of inputs, despite the fact that they may provide more directories in CodeAnalysisRuleSetDirectories.
The cache hit is based on file path
MSBuildPrediction/src/BuildPrediction/Predictors/CodeAnalysisRuleSetPredictor.cs
Line 151 in f852f03
however some projects may load the same ruleset file with different value of
CodeAnalysisRuleSetDirectories. In case a ruleset file with includes and emptyCodeAnalysisRuleSetDirectoriesis parsed (and cached), the included will be omitted. Subsequent parsing of the same ruleset file, will yield the same, small set of inputs, despite the fact that they may provide more directories inCodeAnalysisRuleSetDirectories.