dotnet-installer/test/Microsoft.DotNet.Tools.Tests.Utilities/Commands
Andrew Stanton-Nurse ef0ca39da1 Memory usage improvements in build (#2626)
* Use a WorkspaceContext in dotnet-build to cache project data across
multiple compilations in a single build action
* Dramatically reduce string and object duplication by introducing a
"Symbol Table" that shares instances of NuGetVersion, NuGetFramework,
VersionRange and string across multiple lock-file parses

Test Results:
* Testing was done by compiling Microsoft.AspNetCore.Mvc (and it's
dependencies) and taking memory snapshots after each compilation in
dotMemory
* We used to allocate ~3MB and deallocate ~2.5MB on EACH compilation in
a single build action. This has been reduced to ~120KB
allocated/deallocated
* After introducing WorkspaceContext, total memory usage spiked from 6MB
across the whole build action to about 13MB, introducing the symbol
table dropped it back to about 5-6MB.
2016-04-22 15:01:56 -07:00
..
BuildCommand.cs Fix publish when build was ran using build-base-path 2016-04-12 13:30:18 -07:00
DotnetCommand.cs Add kestrel tests. 2016-04-04 17:57:12 -07:00
DotnetTestCommand.cs Modifying the reporting channels to make the AdapterChannel a client and leave the TestRunnerChannel a server. This will prevent port conflicts between dotnet test and the Adapter (VS) due to race conditions. 2016-03-15 15:13:54 -07:00
HelpCommand.cs Move the help command it it's own class. 2016-02-15 20:11:02 -08:00
NewCommand.cs Fixup some Usings Statements. Remove SkipForOS function in favor of ActiveIssue 2016-01-05 16:05:43 -08:00
PackCommand.cs Fix dontet pack with buildbasepath 2016-02-23 19:13:50 -08:00
PublishCommand.cs t Convert Test Assets to Microsoft.NETCore.App 2016-04-19 11:08:27 -07:00
RestoreCommand.cs Remove infer-runtimes from EndToEnd tests. 2016-04-08 09:32:56 -05:00
RunCommand.cs Add kestrel tests. 2016-04-04 17:57:12 -07:00
TestCommand.cs Memory usage improvements in build (#2626) 2016-04-22 15:01:56 -07:00