Skip to content

Commit 8bb77e7

Browse files
authored
Reduce allocations for SdkResolverService (#11803)
1 parent 9bd4f91 commit 8bb77e7

File tree

1 file changed

+7
-9
lines changed

1 file changed

+7
-9
lines changed

src/Build/BackEnd/Components/SdkResolution/SdkResolverService.cs

+7-9
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ private SdkResult ResolveSdkUsingResolversWithPatternsFirst(int submissionId, Sd
226226
resolvers = GetResolvers(
227227
_generalResolversManifestsRegistry,
228228
loggingContext,
229-
sdkReferenceLocation).ToList();
229+
sdkReferenceLocation);
230230

231231
if (TryResolveSdkUsingSpecifiedResolvers(
232232
resolvers,
@@ -274,16 +274,14 @@ private List<SdkResolver> GetResolvers(IReadOnlyList<SdkResolverManifest> resolv
274274
List<SdkResolver> resolvers = new List<SdkResolver>();
275275
foreach (var resolverManifest in resolversManifests)
276276
{
277-
if (!_manifestToResolvers.TryGetValue(resolverManifest, out IReadOnlyList<SdkResolver> newResolvers))
277+
IReadOnlyList<SdkResolver> newResolvers;
278+
lock (_lockObject)
278279
{
279-
lock (_lockObject)
280+
if (!_manifestToResolvers.TryGetValue(resolverManifest, out newResolvers))
280281
{
281-
if (!_manifestToResolvers.TryGetValue(resolverManifest, out newResolvers))
282-
{
283-
// Loading of the needed resolvers.
284-
newResolvers = _sdkResolverLoader.LoadResolversFromManifest(resolverManifest, sdkReferenceLocation);
285-
_manifestToResolvers[resolverManifest] = newResolvers;
286-
}
282+
// Loading of the needed resolvers.
283+
newResolvers = _sdkResolverLoader.LoadResolversFromManifest(resolverManifest, sdkReferenceLocation);
284+
_manifestToResolvers[resolverManifest] = newResolvers;
287285
}
288286
}
289287

0 commit comments

Comments
 (0)