Main_4.PerfCounter.Begin C# (CSharp) Method

Begin() public method

public Begin ( ) : void
return void
        public void Begin()
        {
            memStart = GC.GetTotalMemory(true);
            watch.Restart();
        }

Usage Example

Exemplo n.º 1
0
        private static void RunLoop(RunConfig runConfig)
        {
            var runners = runConfig.GetRunners();
            object preRunState = null;
            object preLoopState = null;
            if (runConfig.PreRuns != null) preRunState = runConfig.PreRuns();
            Action<ILocator, int, object, object> run = runConfig.Run;
            Func<ILocator, int, object, object> preLoopRun = runConfig.PreLoops;
            Action<ILocator, object, object> postLoopRun = runConfig.PostLoops;

            for (var l=0; l < RUNS; l++) {
                p().BeginGroup((l+1).ToString());
                foreach (var r in runners) {
                    if (preLoopRun != null) preLoopState = preLoopRun(r, l, preRunState);

                    var k = new PerfCounter(r.Name); k.Begin();

                    for (var i = 0; i < LOOPS; i++) {
                        run(r, i, preRunState, preLoopState);
                    }

                    k.End(); p().Collect(k);
                    if (postLoopRun != null) postLoopRun(r, preRunState, preLoopState);
                }
                p().EndGroup();
            }
            p().Flush();
            if (runConfig.PostRuns != null) runConfig.PostRuns(preRunState);
        }