zoukankan      html  css  js  c++  java
  • 测试程序运行时间

    一、用C#自带的StopWatch函数

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

    namespace StopWatch
    {
        class Program
        {
            static void Main(string[] args)
            {
                Stopwatch sw = new Stopwatch();
                sw.Start();
                //这里填写要执行的代码
                sw.Stop();
                Console.WriteLine("总运行时间:" + sw.Elapsed);
                Console.WriteLine("测量实例得出的总运行时间(毫秒为单位):" + sw.ElapsedMilliseconds);
                Console.WriteLine("总运行时间(计时器刻度标识):" + sw.ElapsedTicks);
                Console.WriteLine("计时器是否运行:" + sw.IsRunning.ToString());
            }
        }
    }

    运行结果如下:
    总运行时间:00:00:00.0000013
    测量实例得出的程序运行时间(毫秒为单位):0
    总运行时间(计时器刻度标识):5
    计时器是否运行:False


    二、用API函数QueryPerformanceFrequency

    using System;   

    using System.Threading;   

    class Class1   

    {   

        [System.Runtime.InteropServices.DllImport("Kernel32.dll")]   

        static extern bool QueryPerformanceCounter(ref long count);   

        [System.Runtime.InteropServices.DllImport("Kernel32.dll")]   

        static extern bool QueryPerformanceFrequency(ref long count);   

        [STAThread]   

        static void Main(string[] args)   

        {   

            long count = 0;   

            long count1 = 0;   

            long freq = 0;   

            double result = 0;   

            QueryPerformanceFrequency(ref freq);   

            QueryPerformanceCounter(ref count);   

            //需要测试的模块   

      

            int heisetoufa;   

            for (heisetoufa = 1; heisetoufa < 10000; heisetoufa++)   

            {   

                Console.WriteLine("第" + heisetoufa + "行");   

                if (heisetoufa == 5000)   

                {   

                    Thread.Sleep(10000);   

                }   

            }   

      

            //需要测试的模块   

      

            QueryPerformanceCounter(ref count1);   

            count = count1 - count;   

            result = (double)(count) / (double)freq;   

            Console.WriteLine("耗时: {0} 秒", result);   

            Console.ReadLine();   

        }   

    }  

  • 相关阅读:
    C++数据类型与C#对应关系 c#调用WINDWOS API时,非常有用(转)
    Web应用系统中关闭Excel进程
    jquery下一个空格带来的血案
    导出Excel时发生COM组件失败的解决方案
    水晶报表的交叉表中增加超级链接
    JavaScript和ExtJS的继承 Ext.extend Ext.applyIf (转)
    SQL SERVER 2000数据库置疑处理
    PHP中对淘宝URL中ID提取
    树莓派+蓝牙适配器连接蓝牙设备
    树莓派摄像头模块转成H264编码通过RTMP实现Html输出
  • 原文地址:https://www.cnblogs.com/kavilee/p/1904274.html
Copyright © 2011-2022 走看看