@@ -5,9 +5,13 @@ The benchmarks in these sub-directories are based on
55
66See the adjoining LICENSE.TXT file for license terms.
77
8- Our intention with these tests is to provide interesting test cases
9- for jit developers to use in daily development practice -- not to
10- produce variants that give the maximum possible performance.
8+ Our intention with these tests is twofold:
9+ 1 - To track .NET Core's performance on these benchmarks in the
10+ same benchmarking system used for other internal .NET Core
11+ performance benchmarks.
12+ 2 - To make these available for daily JIT (and runtime) development,
13+ as a factor in assessing the performance impact of compiler
14+ (and runtime) changes.
1115
1216The benchmarks have been modified to fit into the CoreCLR test and
1317performance test framework, as follows:
@@ -19,19 +23,15 @@ performance test framework, as follows:
1923 xunit-performance iteration is approximately 1 second on modern x64
2024 hardware
2125 - reducing verbosity when run as a benchmark
22- - reformatting (via the codeformatter tool)
26+ - calling different APIs in a few places to allow compiling against
27+ netstandard1.4
28+ - reformatting
29+ - in the case of pidigits, implementing on top of .NET's BigInteger
30+ type rather than p/invokes to the native GMP library
2331
2432These benchmarks are just a subset of the benchmarks available in C# from
25- the Benchmarks Game site. We've selected variants that do not rely on
26- multiple threads to ensure relative benchmark stability across a
27- variety of machines.
28-
29- We've excluded two benchmarks that are inherently multitheaded:
30- chamenosredux and threadring. We may revisit this as we improve our
31- ability to harness threading tests in a stable way.
32-
33- We've also excluded benchmarks that read in large input files:
34- knucleotide, regexdna, revcomp.
35-
36-
37-
33+ the Benchmarks Game site. The highest-scoring C# .NET Core variant of each
34+ benchmark is included, and in the (common) case of benchmarks where the
35+ best-scoring variant uses multiple threads, we've also selected variants
36+ that do not rely on multiple threads, to ensure relative benchmark stability
37+ across a variety of machines.
0 commit comments