diff options
Diffstat (limited to 'tests/src/performance/perflab/ThreadingPerf.cs')
-rw-r--r-- | tests/src/performance/perflab/ThreadingPerf.cs | 111 |
1 files changed, 57 insertions, 54 deletions
diff --git a/tests/src/performance/perflab/ThreadingPerf.cs b/tests/src/performance/perflab/ThreadingPerf.cs index 5cb16d49e1..13d6ba071f 100644 --- a/tests/src/performance/perflab/ThreadingPerf.cs +++ b/tests/src/performance/perflab/ThreadingPerf.cs @@ -5,70 +5,73 @@ using Microsoft.Xunit.Performance; using System; using System.Threading; -public class JITIntrinsics +namespace PerfLabTests { - private static int s_i; - private static string s_s; - - [Benchmark(InnerIterationCount=100000)] - public static void CompareExchangeIntNoMatch() + public class JITIntrinsics { - s_i = 0; - foreach (var iteration in Benchmark.Iterations) - using (iteration.StartMeasurement()) - for (int i = 0; i < Benchmark.InnerIterationCount; i++) - Interlocked.CompareExchange(ref s_i, 5, -1); - } + private static int s_i; + private static string s_s; - [Benchmark(InnerIterationCount=100000)] - public static void CompareExchangeIntMatch() - { - foreach (var iteration in Benchmark.Iterations) + [Benchmark(InnerIterationCount = 100000)] + public static void CompareExchangeIntNoMatch() { - s_i = 1; - using (iteration.StartMeasurement()) - for (int i = 0; i < Benchmark.InnerIterationCount; i++) - Interlocked.CompareExchange(ref s_i, 5, 1); + s_i = 0; + foreach (var iteration in Benchmark.Iterations) + using (iteration.StartMeasurement()) + for (int i = 0; i < Benchmark.InnerIterationCount; i++) + Interlocked.CompareExchange(ref s_i, 5, -1); } - } - [Benchmark(InnerIterationCount=100000)] - public static void CompareExchangeObjNoMatch() - { - s_s = "Hello"; - foreach (var iteration in Benchmark.Iterations) - using (iteration.StartMeasurement()) - for (int i = 0; i < Benchmark.InnerIterationCount; i++) - Interlocked.CompareExchange(ref s_s, "World", "What?"); - } + [Benchmark(InnerIterationCount = 100000)] + public static void CompareExchangeIntMatch() + { + foreach (var iteration in Benchmark.Iterations) + { + s_i = 1; + using (iteration.StartMeasurement()) + for (int i = 0; i < Benchmark.InnerIterationCount; i++) + Interlocked.CompareExchange(ref s_i, 5, 1); + } + } - [Benchmark(InnerIterationCount=100000)] - public static void CompareExchangeObjMatch() - { - foreach (var iteration in Benchmark.Iterations) + [Benchmark(InnerIterationCount = 100000)] + public static void CompareExchangeObjNoMatch() { - s_s = "What?"; - using (iteration.StartMeasurement()) - for (int i = 0; i < Benchmark.InnerIterationCount; i++) - Interlocked.CompareExchange(ref s_s, "World", "What?"); + s_s = "Hello"; + foreach (var iteration in Benchmark.Iterations) + using (iteration.StartMeasurement()) + for (int i = 0; i < Benchmark.InnerIterationCount; i++) + Interlocked.CompareExchange(ref s_s, "World", "What?"); } - } - [Benchmark(InnerIterationCount=100000)] - public static void InterlockedIncrement() - { - foreach (var iteration in Benchmark.Iterations) - using (iteration.StartMeasurement()) - for (int i = 0; i < Benchmark.InnerIterationCount; i++) - Interlocked.Increment(ref s_i); - } + [Benchmark(InnerIterationCount = 100000)] + public static void CompareExchangeObjMatch() + { + foreach (var iteration in Benchmark.Iterations) + { + s_s = "What?"; + using (iteration.StartMeasurement()) + for (int i = 0; i < Benchmark.InnerIterationCount; i++) + Interlocked.CompareExchange(ref s_s, "World", "What?"); + } + } - [Benchmark(InnerIterationCount=100000)] - public static void InterlockedDecrement() - { - foreach (var iteration in Benchmark.Iterations) - using (iteration.StartMeasurement()) - for (int i = 0; i < Benchmark.InnerIterationCount; i++) - Interlocked.Decrement(ref s_i); + [Benchmark(InnerIterationCount = 100000)] + public static void InterlockedIncrement() + { + foreach (var iteration in Benchmark.Iterations) + using (iteration.StartMeasurement()) + for (int i = 0; i < Benchmark.InnerIterationCount; i++) + Interlocked.Increment(ref s_i); + } + + [Benchmark(InnerIterationCount = 100000)] + public static void InterlockedDecrement() + { + foreach (var iteration in Benchmark.Iterations) + using (iteration.StartMeasurement()) + for (int i = 0; i < Benchmark.InnerIterationCount; i++) + Interlocked.Decrement(ref s_i); + } } }
\ No newline at end of file |