文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>计算执行的时间的代码

计算执行的时间的代码

时间:2010-08-26  来源:I'm CY

ExecuteTimeusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace TestProject1.Performance
{
    public static class ExecuteTime
    {
        #region SetOut

        private static TextWriter _out;

        public static TextWriter Out
        {
            get
            {
                if (_out == null)
                {
                    SetOut(Console.Out);
                }
                return _out;
            }
        }

        public static void SetOut(TextWriter newOut)
        {
            if (newOut == null)
            {
                throw new ArgumentNullException("newOut");
            }
            _out = newOut;
        }

        #endregion

        #region Enable

        static bool? _Enable;
        /// <summary>
        /// 是否启用
        /// </summary>
        public static bool Enable
        {
            get
            {
                if (_Enable != null)
                    return _Enable.Value;
                _Enable = false;
#if DEBUG
                _Enable = true;
#endif
                return _Enable.Value;
            }
            set
            {
                _Enable = value;
            }
        }

        #endregion

        #region TabIndex

        static int tabIndex;
        /// <summary>
        /// Tab计数器
        /// </summary>
        internal static int TabIndex
        {
            get
            {
                return tabIndex;
            }
            set
            {
                if (value < 0)
                    tabIndex = 0;
                else
                    tabIndex = value;
            }
        }

        #endregion

        static string ToPreTab(string content)
        {
            for (int i = 0; i < TabIndex; i++)
            {
                content = "\t" + content;
            }
            return content;
        }

        public static void WriteLine(string content)
        {
            Out.WriteLine(TabIndex.ToString() + ToPreTab(content));
        }
    }
}

 

 

 

ExecuteTimeItemusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;

namespace TestProject1.Performance
{
    public class ExecuteTimeItem : IDisposable
    {
        Stopwatch sw = new Stopwatch();
        object content;
        internal ExecuteTimeItem(object content)
        {
            ExecuteTime.TabIndex++;
            ExecuteTime.WriteLine(string.Format("开始【{0}】", content));
            this.content = content;
            sw.Start();
        }

        #region IDisposable 成员

        bool disposed = false;
        public void Dispose()
        {
            Dispose(true);
        }
        public void Dispose(bool disposed)
        {
            if (!this.disposed)
            {
                sw.Stop();
                ExecuteTime.WriteLine(string.Format("结束【{0}】用时:{1}毫秒。", content, sw.Elapsed.TotalMilliseconds));
                ExecuteTime.TabIndex--;
                disposed = true;
            }
        }
        #endregion
    }
}

 

 

Test        [TestMethod]
        public void TestMethod1()
        {
            for (int i = 0; i < 10; i++)
            {
                using (new ExecuteTimeItem(i))
                {
                    Thread.Sleep(10);
                    for (int j = 0; j < 10; j++)
                    {
                        using (new ExecuteTimeItem(j))
                        {
                            Thread.Sleep(20);
                        }
                    }
                }
            }
        }

 

 

结果1  开始【0】
2               开始【0】
2               结束【0】用时:20.4351毫秒。
2               开始【1】
2               结束【1】用时:19.4521毫秒。
2               开始【2】
2               结束【2】用时:19.9381毫秒。
2               开始【3】
2               结束【3】用时:19.9483毫秒。
2               开始【4】
2               结束【4】用时:19.9731毫秒。
2               开始【5】
2               结束【5】用时:19.9782毫秒。
2               开始【6】
2               结束【6】用时:20.0924毫秒。
2               开始【7】
2               结束【7】用时:19.8172毫秒。
2               开始【8】
2               结束【8】用时:19.9806毫秒。
2               开始【9】
2               结束【9】用时:19.9507毫秒。
1       结束【0】用时:210.6243毫秒。
1       开始【1】
2               开始【0】
2               结束【0】用时:19.9719毫秒。
2               开始【1】
2               结束【1】用时:20.0503毫秒。
2               开始【2】
2               结束【2】用时:20.3831毫秒。
2               开始【3】
2               结束【3】用时:19.4919毫秒。
2               开始【4】
2               结束【4】用时:20.068毫秒。
2               开始【5】
2               结束【5】用时:19.8372毫秒。
2               开始【6】
2               结束【6】用时:19.9735毫秒。
2               开始【7】
2               结束【7】用时:19.9735毫秒。
2               开始【8】
2               结束【8】用时:19.9609毫秒。
2               开始【9】
2               结束【9】用时:19.9688毫秒。
1       结束【1】用时:209.9757毫秒。
1       开始【2】
2               开始【0】
2               结束【0】用时:19.9991毫秒。
2               开始【1】
2               结束【1】用时:19.9814毫秒。
2               开始【2】
2               结束【2】用时:19.977毫秒。
2               开始【3】
2               结束【3】用时:19.9444毫秒。
2               开始【4】
2               结束【4】用时:19.9767毫秒。
2               开始【5】
2               结束【5】用时:19.9676毫秒。
2               开始【6】
2               结束【6】用时:20.3405毫秒。
2               开始【7】
2               结束【7】用时:19.6065毫秒。
2               开始【8】
2               结束【8】用时:19.9841毫秒。
2               开始【9】
2               结束【9】用时:19.927毫秒。
1       结束【2】用时:210.0064毫秒。
1       开始【3】
2               开始【0】
2               结束【0】用时:19.9767毫秒。
2               开始【1】
2               结束【1】用时:19.9881毫秒。
2               开始【2】
2               结束【2】用时:19.9558毫秒。
2               开始【3】
2               结束【3】用时:19.9684毫秒。
2               开始【4】
2               结束【4】用时:20.2941毫秒。
2               开始【5】
2               结束【5】用时:19.6356毫秒。
2               开始【6】
2               结束【6】用时:19.9668毫秒。
2               开始【7】
2               结束【7】用时:19.9877毫秒。
2               开始【8】
2               结束【8】用时:19.9735毫秒。
2               开始【9】
2               结束【9】用时:19.9924毫秒。
1       结束【3】用时:210.0265毫秒。
1       开始【4】
2               开始【0】
2               结束【0】用时:20.0034毫秒。
2               开始【1】
2               结束【1】用时:19.9928毫秒。
2               开始【2】
2               结束【2】用时:19.9463毫秒。
2               开始【3】
2               结束【3】用时:19.9656毫秒。
2               开始【4】
2               结束【4】用时:19.9664毫秒。
2               开始【5】
2               结束【5】用时:19.9782毫秒。
2               开始【6】
2               结束【6】用时:19.9684毫秒。
2               开始【7】
2               结束【7】用时:19.964毫秒。
2               开始【8】
2               结束【8】用时:20.0117毫秒。
2               开始【9】
2               结束【9】用时:19.9227毫秒。
1       结束【4】用时:209.9635毫秒。
1       开始【5】
2               开始【0】
2               结束【0】用时:19.9979毫秒。
2               开始【1】
2               结束【1】用时:20.0231毫秒。
2               开始【2】
2               结束【2】用时:19.9353毫秒。
2               开始【3】
2               结束【3】用时:19.9495毫秒。
2               开始【4】
2               结束【4】用时:19.9688毫秒。
2               开始【5】
2               结束【5】用时:20.1204毫秒。
2               开始【6】
2               结束【6】用时:19.8148毫秒。
2               开始【7】
2               结束【7】用时:19.9924毫秒。
2               开始【8】
2               结束【8】用时:19.9621毫秒。
2               开始【9】
2               结束【9】用时:19.9526毫秒。
1       结束【5】用时:210.006毫秒。
1       开始【6】
2               开始【0】
2               结束【0】用时:19.9798毫秒。
2               开始【1】
2               结束【1】用时:19.9613毫秒。
2               开始【2】
2               结束【2】用时:19.9774毫秒。
2               开始【3】
2               结束【3】用时:20.0255毫秒。
2               开始【4】
2               结束【4】用时:19.8664毫秒。
2               开始【5】
2               结束【5】用时:19.9794毫秒。
2               开始【6】
2               结束【6】用时:19.9495毫秒。
2               开始【7】
2               结束【7】用时:20.0361毫秒。
2               开始【8】
2               结束【8】用时:19.914毫秒。
2               开始【9】
2               结束【9】用时:20.3673毫秒。
1       结束【6】用时:210.4049毫秒。
1       开始【7】
2               开始【0】
2               结束【0】用时:19.9794毫秒。
2               开始【1】
2               结束【1】用时:19.9774毫秒。
2               开始【2】
2               结束【2】用时:19.9778毫秒。
2               开始【3】
2               结束【3】用时:19.9719毫秒。
2               开始【4】
2               结束【4】用时:19.9676毫秒。
2               开始【5】
2               结束【5】用时:20.0341毫秒。
2               开始【6】
2               结束【6】用时:19.5978毫秒。
2               开始【7】
2               结束【7】用时:19.979毫秒。
2               开始【8】
2               结束【8】用时:19.9487毫秒。
2               开始【9】
2               结束【9】用时:23.1245毫秒。
1       结束【7】用时:212.7541毫秒。
1       开始【8】
2               开始【0】
2               结束【0】用时:19.9983毫秒。
2               开始【1】
2               结束【1】用时:19.9755毫秒。
2               开始【2】
2               结束【2】用时:19.9747毫秒。
2               开始【3】
2               结束【3】用时:19.9936毫秒。
2               开始【4】
2               结束【4】用时:19.9451毫秒。
2               开始【5】
2               结束【5】用时:19.9893毫秒。
2               开始【6】
2               结束【6】用时:19.9526毫秒。
2               开始【7】
2               结束【7】用时:19.8892毫秒。
2               开始【8】
2               结束【8】用时:19.9723毫秒。
2               开始【9】
2               结束【9】用时:19.9743毫秒。
1       结束【8】用时:209.8386毫秒。
1       开始【9】
2               开始【0】
2               结束【0】用时:19.2914毫秒。
2               开始【1】
2               结束【1】用时:19.9704毫秒。
2               开始【2】
2               结束【2】用时:19.9613毫秒。
2               开始【3】
2               结束【3】用时:19.9841毫秒。
2               开始【4】
2               结束【4】用时:20.0731毫秒。
2               开始【5】
2               结束【5】用时:19.8557毫秒。
2               开始【6】
2               结束【6】用时:19.9668毫秒。
2               开始【7】
2               结束【7】用时:19.9546毫秒。
2               开始【8】
2               结束【8】用时:20.0338毫秒。
2               开始【9】
2               结束【9】用时:19.9113毫秒。
1       结束【9】用时:210.0209毫秒。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载