Пример #1
0
        /// <summary>
        /// Tests performance for the given action.
        /// </summary>
        public static void TestPerf(this Action action, string name)
        {
            var info = new PerformanceInfoConsumer(name);

            info.Start();
            action();
            info.Stop(string.Empty);
        }
Пример #2
0
        /// <summary>
        /// Tests performance for the given action.
        /// </summary>
        public static void TestPerf(this Func <string> action, string name)
        {
            var info = new PerformanceInfoConsumer(name);

            info.Start();
            var message = action();

            info.Stop(message);
        }
Пример #3
0
        /// <summary>
        /// Tests performance for the given function.
        /// </summary>
        public static T TestPerf <T>(this Func <PerformanceTestResult <T> > func, string name)
        {
            var info = new PerformanceInfoConsumer(name);

            info.Start();
            var res = func();

            info.Stop(res.Message);
            return(res.Result);
        }
Пример #4
0
        /// <summary>
        /// Tests performance for the given action.
        /// </summary>
        public static void TestPerf(this Func <string> action, string name, int count)
        {
            var info = new PerformanceInfoConsumer(name + " x " + count.ToInvariantString(), 10000);

            info.Start();
            var message = string.Empty;

            while (count > 0)
            {
                message = action();
                count--;
            }
            info.Stop(message);
        }
Пример #5
0
        /// <summary>
        /// Tests performance for the given function.
        /// </summary>
        public static T TestPerf <T>(this Func <PerformanceTestResult <T> > func, string name, int count)
        {
            var info = new PerformanceInfoConsumer(name + " x " + count.ToInvariantString(), 10000);

            info.Start();
            PerformanceTestResult <T> res = null;

            while (count > 0)
            {
                res = func();
                count--;
            }
            info.Stop(res.Message);
            return(res.Result);
        }