zoukankan      html  css  js  c++  java
  • 算法时间测试

     1 //算法时间测试 基准法(定量分析) 大O法(定性分析)
     2 //以下是基准法
     3 #include "iostream"
     4 #include "cstdio"
     5 #include "ctime"
     6 #include "windows.h"
     7 using namespace std;
     8 int main()
     9 {
    10     //法一
    11     clock_t start1,end1;//clock_t  需头文件#include "ctime"
    12     double duration1 ;
    13 
    14     start1=clock();//返回程序运行到此位置时所用毫秒数
    15     ::Sleep(3000);//延时函数 参数为毫秒  头文件#include "windows.h"   注俩冒号和大写S
    16     end1=clock();
    17     duration1=(double)(end1-start1)/CLOCKS_PER_SEC;//为输出秒,毫秒化秒
    18     cout<<"The clock_t  time is  "<<duration1<<"S"<<endl;
    19 
    20 
    21 
    22     //法二
    23     time_t start2,end2;
    24 
    25     start2=time(0);//获取的是从1970 1 1 0:0:0 到现在的秒数(注意单位为秒)
    26     ::Sleep(3000);
    27     end2=time(0);
    28     double duration2=end2-start2;
    29     cout<<"The time_t   time is  "<<duration2<<"S"<<endl;
    30 }
    View Code

     感谢http://blog.csdn.net/theprinceofelf/article/details/6636041

     1 这个是针对于特定的平台的测试,有时候我们需更高的精度测试时,往往需要用到这个测试
     2 <Windows.h>版本
     3 #include "windows.h"
     4 int main()
     5 {
     6     LARGE_INTEGER frec;//记录CPU每秒频率
     7     LARGE_INTEGER strt;
     8     LARGE_INTEGER ed;
     9     QueryPerformanceFrequency(&frec);///查询频率
    10     QueryPerformanceCounter(&strt);///测开始处的时钟数
    11     ::Sleep(3000);
    12     QueryPerformanceCounter(&ed);///测结束处的时钟数
    13     cout<<(ed.QuadPart-strt.QuadPart)*1000000/frec.QuadPart<<"us"<<endl;///相减除以每秒的频率
    14     ///。*1是秒数,*1000是毫秒数,*1000 000 是微妙数,*1000 000 000是ns数。
    15 }

     好的代码习惯:测试代码 -->  伪代码 --> 实际代码 --> 更加高效的版本 --> 带输入输出控制检测,出错验证的代码  -->更加灵活的版本

  • 相关阅读:
    未进入Kali Linux系统修改修改密码的方法
    SQL 修改字段名,数据类型,增加字段
    在 SAE 上部署 ThinkPHP 5.0 RC4
    在 C# 里使用 F# 的 option 变量
    Retinex图像增强和暗通道去雾的关系及其在hdr色调恢复上的应用
    暗通道去雾算法的python实现
    解析hdr图像文件的python实现
    博客说明
    retinex图像增强算法的研究
    我知道的JavaScript设计模式(桥接)应用之验证器
  • 原文地址:https://www.cnblogs.com/kimsimple/p/5672091.html
Copyright © 2011-2022 走看看