-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Conversation
…ching, general refactor of changes
GetPlatformExclusionList Optimization.
@@ -12,6 +12,8 @@ namespace Microsoft.DotNet.ProjectModel.Files | |||
{ | |||
public class PatternGroup | |||
{ | |||
private static readonly Dictionary<string, IEnumerable<string>> s_resolvedFilesCache = new Dictionary<string, IEnumerable<string>>(); |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
test RHEL7.2 x64 Release Build |
@@ -28,7 +29,8 @@ private static void CollectDependencies(IDictionary<string, LibraryExport> expor | |||
foreach (var dependency in dependencies) | |||
{ | |||
var export = exports[dependency.Name]; | |||
if (export.Library.Identity.Version.Equals(dependency.VersionRange.MinVersion)) | |||
if (export.Library.Identity.Version.Equals(dependency.VersionRange.MinVersion) | |||
&& !exclusionList.Contains(dependency.Name)) |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Running into issues with Binding Redirects here. The LibraryExporter cannot simply cache exported projects because the exports of a project change after it is built. Binding redirects being included in the runtime assets of that exported project is conditional on the binding redirect file existing. When the exports are cached the file doesn't exist. Post-build and pre-publish the file does exist, but the cached implementation causes it not to be copied to publish output. Put up a fix that side steps caching project exports, please take a look. |
@brthor we are not taking this right? Should we just close it? |
We are taking the graph walk fixes that I made: |
Fixed Conflicts/Refactored/Fixed bugs on a commit from @pakrym:
https://github.com/dotnet/cli/issues/3839
https://github.com/dotnet/cli/issues/3840
Added Tests for https://github.com/dotnet/cli/issues/3839
Last commit fixes https://github.com/dotnet/cli/issues/3841
GetTypeBuildExclusion list optimized by enforcing a single visit of each node in the dependency graph, using an iterative rather than recursive graph walk, and replacing the set difference operations with a graph subset search.
Performance increased by
.4s
on my macbook.Also optimized GetPlatformExclusionList graph walk by enforcing single node visit.
Performance Data OLD:
NEW
/cc @pakrym @anurse @eerhardt @piotrpMSFT