summaryrefslogtreecommitdiff
path: root/tests/src/performance/perflab/ThreadingPerf.cs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src/performance/perflab/ThreadingPerf.cs')
-rw-r--r--tests/src/performance/perflab/ThreadingPerf.cs111
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