diff options
author | Ian Hays <ianha@microsoft.com> | 2015-09-18 03:55:54 +0300 |
---|---|---|
committer | Ian Hays <ianha@microsoft.com> | 2015-09-24 20:01:40 +0300 |
commit | 11ea534258ced35948e53a4ece8fb1284698bf8a (patch) | |
tree | fb01cbb2ec05b51b4ec860f5ae95ec9050050ce7 /Documentation | |
parent | 0c2c555bf485835c2ccd675e19d030c6a90683ed (diff) |
Added performance microbenchmarks
- Added "Performance" folders containing perf xunit tests to a number of highly-used libraries (determined by Usage data)
- Two sets of usage data from store apps; I added a test for every function used in more than 5% of the covered assemblies in both data sets.
- This is a first-round pass of the most highly used libraries and does not include: abstract classes, interfaces, or Attributes
- Created a static utility class for commonly used functions across perf tests, stored in src\Common\tests\Performance.
- These tests will run using ```msbuild /t:BuildAndTest /p:performance=true``` from the projects test directory
- Added conditional properties that check if v5.0 is installed on the user's computer when running perf tests. If it isn't, a detailed error is thrown with a link to a performance-test github page that I've also added.
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/README.md | 1 | ||||
-rw-r--r-- | Documentation/project-docs/performance-tests.md | 20 |
2 files changed, 21 insertions, 0 deletions
diff --git a/Documentation/README.md b/Documentation/README.md index cda8094b2b..049103e0db 100644 --- a/Documentation/README.md +++ b/Documentation/README.md @@ -23,6 +23,7 @@ Project Docs ============ - [Developer Guide](project-docs/developer-guide.md) +- [Performance Testing](project-docs/performance-tests.md) - [Project priorities](https://github.com/dotnet/coreclr/blob/master/Documentation/project-docs/project-priorities.md) - [Contributing to CoreFX](project-docs/contributing.md) - [Contributing to .NET Core](https://github.com/dotnet/coreclr/blob/master/Documentation/project-docs/contributing.md) diff --git a/Documentation/project-docs/performance-tests.md b/Documentation/project-docs/performance-tests.md new file mode 100644 index 0000000000..94d51718e7 --- /dev/null +++ b/Documentation/project-docs/performance-tests.md @@ -0,0 +1,20 @@ +Performance Tests +====================== + +This document contains instructions for building, running, and adding Performance tests. + +Requirements +-------------------- + +To run performance tests, .NET portable v5.0 is required. This library is included in [the Visual Studio Community 2015 download](https://www.visualstudio.com/products/visual-studio-community-vs). To get the correct packages during installation, follow these steps after opening the installer: +1. Select "Custom Installation" if no installation is present, or "Modify" otherwise +2. Check the "Universal Windows App Development Tools" box under the "Windows and Web Development" menu +3. Install + +Running the tests +----------- +Performance test files (if present) are stored within a library's ```tests/Performance``` directory and contain test methods that are all marked with a perf-specific *Benchmark* attribute. The performance tests will only be run if the ```performance``` property is set to ```true```. + +To build and run the tests using msbuild for only one project, run ```msbuild /t:BuildAndTest /p:Performance=true``` from the tests directory. If the v5.0 assemblies aren't installed on your system, an error will be raised and no tests will be run. + +Performance tests for all libraries can also be run using the build script in ```corefx```: ```./build.cmd /p:Performance=true``` |