public void TestMethod1() { var concurrent = new ConcurrentPrimes(); concurrent.Init(cMinPrime, cMaxPrime, cDegreeConcurrency); PerformanceResult concResult = PerformancePatterns.RunPerformanceTest(cMinPerfIterations, (() => concurrent.Execute())); Console.WriteLine(cResultFormat + " with concurrent collection.", cMinPerfIterations, concResult.TotalMilliseconds, concResult.TotalSeconds); var plinqed = new PlinqPrimes(); plinqed.Init(cMinPrime, cMaxPrime, cDegreeConcurrency); PerformanceResult pResult = PerformancePatterns.RunPerformanceTest(cMinPerfIterations, (() => plinqed.Execute())); Console.WriteLine(cResultFormat + " with plinq.", cMinPerfIterations, pResult.TotalMilliseconds, pResult.TotalSeconds); var comparison = new TwoSampleZTest(pResult.DescriptiveResult, concResult.DescriptiveResult, 0.0, TwoSampleHypothesis.FirstValueIsSmallerThanSecond); Console.WriteLine(concResult.ToString()); Console.WriteLine(pResult.ToString()); Assert.IsTrue(comparison.Significant); Assert.AreEqual(concurrent.Primes.Count,plinqed.Primes.Count); }
public void CompareManualConcurrencyVsLinq() { var concurrent = new ConcurrentPrimes(); concurrent.Init(cMinPrime, cMaxPrime, cDegreeConcurrency); var plinqed = new PlinqPrimes(); plinqed.Init(cMinPrime, cMaxPrime, cDegreeConcurrency); bool significant = PerformancePatterns.RunPerformanceComparison(cMinPerfIterations, "concurrent collection", (concurrent.Execute), "plinq", (plinqed.Execute), 250.0, TwoSampleHypothesis.FirstValueIsGreaterThanSecond, true); Assert.IsTrue(significant); Assert.AreEqual(concurrent.Primes.Count, plinqed.Primes.Count); }