Esempio n. 1
0
 private static bool ShouldRun(Regex filter, IPaulTest paulTest)
 {
     if (filter == null) return true;
     var name = paulTest.GetType().Name;
     var shouldRun = filter.IsMatch(name);
     return shouldRun;
 }
        private long RunThreadBased(IPaulTest test)
        {
            var stopwatch = Stopwatch.StartNew();
            var threads   = new Thread[Environment.ProcessorCount];
            var interval  = iterations / threads.Length;

            for (var i = 0; i < threads.Length; i++)
            {
                var thread = new Thread(() =>
                {
                    for (var j = 0; j < interval; j++)
                    {
                        var player = test.ResolvePlayer();
                        player.Shoot();
                    }
                });
                threads[i] = thread;
                thread.Start();
            }
            for (var i = 0; i < threads.Length; i++)
            {
                threads[i].Join();
            }
            stopwatch.Stop();
            PrintResult(test, stopwatch);
            var disposable = test as IDisposable;

            if (disposable != null)
            {
                disposable.Dispose();
            }
            return(stopwatch.ElapsedMilliseconds);
        }
Esempio n. 3
0
        private long RunWithStop(IPaulTest test)
        {
            Console.WriteLine(" Testing {0,-20}", test.GetType().Name);
            var count = 0;

            for (var i = 0; i < iterations; i++)
            {
                count++;
                var player = test.ResolvePlayer();
                player.Shoot();
                if (count == memorySnapshotStep)
                {
                    CollectSnapshot(i);
                    count = 0;
                }
            }
            PrintResult(test);
            var disposable = test as IDisposable;

            if (disposable != null)
            {
                disposable.Dispose();
            }
            return(0);
        }
Esempio n. 4
0
 protected void Run(IPaulTest paulTest, Func <IPaulTest, long> function)
 {
     if (ShouldRun(filter, paulTest))
     {
         output.Write(function(paulTest) + "\t");
     }
     else
     {
         output.Write("0\t");
     }
 }
Esempio n. 5
0
        private static bool ShouldRun(Regex filter, IPaulTest paulTest)
        {
            if (filter == null)
            {
                return(true);
            }
            var name      = paulTest.GetType().Name;
            var shouldRun = filter.IsMatch(name);

            return(shouldRun);
        }
Esempio n. 6
0
 protected void Run(IPaulTest paulTest, Func<IPaulTest, long> function)
 {
     if (ShouldRun(filter, paulTest))
     {
         output.Write(function(paulTest) + "\t");
     }
     else
     {
         output.Write("0\t");
     }
 }
 private void PrintResult(IPaulTest test, Stopwatch stopwatch)
 {
     if (results == Results.Total_time)
     {
         Console.WriteLine(" Hey {0,-20} - you did it in {1,10}", test.GetType().Name, stopwatch.Elapsed);
     }
     else
     {
         Console.WriteLine(" Hey {0,-20} - you did {1,10} operations per second", test.GetType().Name,
                           (iterations * oneSecondTicks) / stopwatch.Elapsed.Ticks);
     }
 }
 private void PrintResult(IPaulTest test, Stopwatch stopwatch)
 {
     if (results == Results.Total_time)
     {
         Console.WriteLine(" Hey {0,-20} - you did it in {1,10}", test.GetType().Name, stopwatch.Elapsed);
     }
     else
     {
         Console.WriteLine(" Hey {0,-20} - you did {1,10} operations per second", test.GetType().Name,
                           (iterations * oneSecondTicks) / stopwatch.Elapsed.Ticks);
     }
 }
 private long RunContinuously(IPaulTest test)
 {
     Console.WriteLine(" Testing {0,-20}", test.GetType().Name);
     for (var i = 0; i < iterations; i++)
     {
         var player = test.ResolvePlayer();
         player.Shoot();
     }
     PrintResult(test);
     var disposable = test as IDisposable;
     if (disposable != null)
     {
         disposable.Dispose();
     }
     return 0;
 }
Esempio n. 10
0
        private long RunContinuously(IPaulTest test)
        {
            Console.WriteLine(" Testing {0,-20}", test.GetType().Name);
            for (var i = 0; i < iterations; i++)
            {
                var player = test.ResolvePlayer();
                player.Shoot();
            }
            PrintResult(test);
            var disposable = test as IDisposable;

            if (disposable != null)
            {
                disposable.Dispose();
            }
            return(0);
        }
 private long RunSingleThread(IPaulTest test)
 {
     var stopwatch = Stopwatch.StartNew();
     for (var i = 0; i < iterations; i++)
     {
         var player = test.ResolvePlayer();
         player.Shoot();
     }
     stopwatch.Stop();
     PrintResult(test, stopwatch);
     var disposable = test as IDisposable;
     if (disposable != null)
     {
         disposable.Dispose();
     }
     return stopwatch.ElapsedMilliseconds;
 }
        private long RunSingleThread(IPaulTest test)
        {
            var stopwatch = Stopwatch.StartNew();

            for (var i = 0; i < iterations; i++)
            {
                var player = test.ResolvePlayer();
                player.Shoot();
            }
            stopwatch.Stop();
            PrintResult(test, stopwatch);
            var disposable = test as IDisposable;

            if (disposable != null)
            {
                disposable.Dispose();
            }
            return(stopwatch.ElapsedMilliseconds);
        }
 private long RunWithStop(IPaulTest test)
 {
     Console.WriteLine(" Testing {0,-20}", test.GetType().Name);
     var count = 0;
     for (var i = 0; i < iterations; i++)
     {
         count++;
         var player = test.ResolvePlayer();
         player.Shoot();
         if(count ==memorySnapshotStep)
         {
             CollectSnapshot(i);
             count = 0;
         }
     }
     PrintResult(test);
     var disposable = test as IDisposable;
     if (disposable != null)
     {
         disposable.Dispose();
     }
     return 0;
 }
        private long RunTaskBased(IPaulTest test)
        {
            var stopwatch = Stopwatch.StartNew();
            var tasks     = new Task[iterations];

            for (var i = 0; i < tasks.Length; i++)
            {
                tasks[i] = Task.Factory.StartNew(() =>
                {
                    var player = test.ResolvePlayer();
                    player.Shoot();
                });
            }
            Task.WaitAll(tasks);
            stopwatch.Stop();
            PrintResult(test, stopwatch);
            var disposable = test as IDisposable;

            if (disposable != null)
            {
                disposable.Dispose();
            }
            return(stopwatch.ElapsedMilliseconds);
        }
 private long RunTaskBased(IPaulTest test)
 {
     var stopwatch = Stopwatch.StartNew();
     var tasks = new Task[iterations];
     for (var i = 0; i < tasks.Length; i++)
     {
         tasks[i] = Task.Factory.StartNew(() =>
                                          	{
                                          		var player = test.ResolvePlayer();
                                          		player.Shoot();
                                          	});
     }
     Task.WaitAll(tasks);
     stopwatch.Stop();
     PrintResult(test, stopwatch);
     var disposable = test as IDisposable;
     if (disposable != null)
     {
         disposable.Dispose();
     }
     return stopwatch.ElapsedMilliseconds;
 }
Esempio n. 16
0
 private void PrintResult(IPaulTest test)
 {
     Console.WriteLine(" Hey {0,-20} - you're done. Collect snapshot and proceed with enter", test.GetType().Name);
     Console.ReadLine();
 }
 private void PrintResult(IPaulTest test)
 {
     Console.WriteLine(" Hey {0,-20} - you're done. Collect snapshot and proceed with enter", test.GetType().Name);
     Console.ReadLine();
 }
 private long RunThreadBased(IPaulTest test)
 {
     var stopwatch = Stopwatch.StartNew();
     var threads = new Thread[Environment.ProcessorCount];
     var interval = iterations/threads.Length;
     for (var i = 0; i < threads.Length; i++)
     {
         var thread = new Thread(() =>
                                     {
                                         for (var j = 0; j < interval; j++)
                                         {
                                             var player = test.ResolvePlayer();
                                             player.Shoot();
                                         }
                                     });
         threads[i] = thread;
         thread.Start();
     }
     for (var i = 0; i < threads.Length; i++)
     {
         threads[i].Join();
     }
     stopwatch.Stop();
     PrintResult(test, stopwatch);
     var disposable = test as IDisposable;
     if (disposable != null)
     {
         disposable.Dispose();
     }
     return stopwatch.ElapsedMilliseconds;
 }