Skip to content
This repository has been archived by the owner on Dec 18, 2017. It is now read-only.

Low hanging fruit performance improvements from profiling session #1147

Closed
13 of 14 tasks
davidfowl opened this issue Jan 29, 2015 · 0 comments
Closed
13 of 14 tasks

Low hanging fruit performance improvements from profiling session #1147

davidfowl opened this issue Jan 29, 2015 · 0 comments

Comments

@davidfowl
Copy link
Member

  • Don't use Tracing system for logging, use Console.WriteLine for now. Trace loads the entire configuration stack.
  • Don't use ToObject when parsing global/project.json, that causes the data contract serialization stack to load in JSON.NET which isn't required at all.
  • Don't use JsonSerializer.SerializeObject<T> when a simple JObject/JToken can be used. The DesignTime host runtime component should send JObject.
  • Don't use JToken.FromObject when you know the shape of the object.
  • LockFilePackage should not return PhysicalPackageFiles since it parses target framework names (TODO: double check this).
  • Use Count > 0 in the graph walking ForEach extension method.
  • ResolvePackagePath reads sha512 files from the disk when it doesn't need to.
  • TryGetCompatibleItems reads all of the potable profiles at once.
  • FrameworkNameUtility.ParseFrameworkName doesn't have to understand all runtimes and should not use regular expressions. It can just hard code to 2 of them that it knows about.
  • Regex use in SemanticVersion and VersionUtility.ParseFrameworkName should be removed.
  • Remove logging from WalkContext that prints the graph.
  • Cache project.json parsing for resolved projects.
  • Remove reflection from LibraryDependencyType and LibraryDependencyTypeKeyword
  • New up socket on another thread.
@davidfowl davidfowl self-assigned this Jan 29, 2015
@davidfowl davidfowl added this to the 1.0.0-rc1 milestone Jan 29, 2015
Praburaj pushed a commit that referenced this issue Feb 5, 2015
This PR addresses the below bullet from this bug: #1147

Don't use Tracing system for logging, use Console.WriteLine for now. Trace loads the entire configuration stack.
Praburaj pushed a commit that referenced this issue Feb 5, 2015
This is to address the following bullet on bug : #1147

Don't use ToObject when parsing global/project.json, that causes the data contract serialization stack to load in JSON.NET which isn't required at all.
Praburaj pushed a commit that referenced this issue Feb 6, 2015
This PR addresses the below bullet from this bug: #1147

Don't use Tracing system for logging, use Console.WriteLine for now. Trace loads the entire configuration stack.
Praburaj pushed a commit that referenced this issue Feb 6, 2015
This is to address the following bullet on bug : #1147

Don't use ToObject when parsing global/project.json, that causes the data contract serialization stack to load in JSON.NET which isn't required at all.
davidfowl added a commit that referenced this issue Feb 14, 2015
- Remove SerializeObject calls when sending to DTH
- Remove global settings from NuGetDependencyProvider since they were unused
- Remove logging resolved dependencies
- Create socket on another thread to warm up Configuration system on full CLR

-
@muratg muratg modified the milestones: 1.0.0-beta5, 1.0.0-beta4 Mar 23, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants