dotnet-installer/test/dotnet-test.UnitTests/project.json
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

35 lines
811 B
JSON

{
"version": "1.0.0-*",
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0-rc2-*"
},
"Newtonsoft.Json": "7.0.1",
"dotnet": {
"target": "project"
},
"Microsoft.Win32.Registry": {
"version": "4.0.0-rc2-24022",
"exclude": "Compile"
},
"xunit": "2.1.0",
"dotnet-test-xunit": "1.0.0-dev-140469-38",
"moq.netcore": "4.4.0-beta8",
"FluentAssertions": "4.2.2"
},
"frameworks": {
"netcoreapp1.0": {
"imports": [
"netstandardapp1.5",
"dotnet5.4",
"portable-net451+win8"
]
}
},
"content": [
"../../TestAssets/TestProjects/ProjectWithTests/project.json",
"../../TestAssets/TestProjects/ProjectWithTests/project.lock.json"
],
"testRunner": "xunit"
}