Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/corefx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Hays <ianha@microsoft.com>2015-09-18 03:55:54 +0300
committerIan Hays <ianha@microsoft.com>2015-09-24 20:01:40 +0300
commit11ea534258ced35948e53a4ece8fb1284698bf8a (patch)
treefb01cbb2ec05b51b4ec860f5ae95ec9050050ce7 /Documentation
parent0c2c555bf485835c2ccd675e19d030c6a90683ed (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.md1
-rw-r--r--Documentation/project-docs/performance-tests.md20
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```