精华内容
下载资源
问答
  • C++计时

    2020-08-16 17:20:30
    简单介绍c++计时方法 方法1(time.h) 无使用环境的限制 #include <time.h> // 计时模块 time_t start,end; // 计时 start=clock(); ... end=clock(); std::cout<<"DBSCAN time: "<<(end-...

    简介

    简单介绍c++的计时方法

    方法1(time.h)

    无使用环境的限制

    #include <time.h>           // 计时模块
    
    time_t start,end;       // 计时
    
    start=clock();
    
    ...
    end=clock();
    
    std::cout<<"DBSCAN time: "<<(end-start)/1000<<" ms"<<std::endl;         // time.h计时
    
    

    方法2(sys/time.h)

    仅仅适用于linux系统

    #include <sys/time.h>
    timeval starttime,endtime;
    
    gettimeofday(&starttime,0);
    ...
    gettimeofday(&endtime,0);
    
    
    double timeuse  = 1000000*(endtime.tv_sec - starttime.tv_sec) + endtime.tv_usec - starttime.tv_usec;
    timeuse /=1000;//除以1000则进行毫秒计时,如果除以1000000则进行秒级别计时,如果除以1则进行微妙级别计时
    
    std::cout<<"Linux DBSCAN time: "<<timeuse<<" ms"<<std::endl;            // sys/time.h计时,仅linux使用
    
    

    结果

    几乎是一样的

    DBSCAN time: 1444262
    Linux DBSCAN time: 1444.51 m
    
    展开全文
  • C++ 计时

    2019-11-27 12:17:37
    C++计时主要有两种。 clock_t 当对于精度要求不高时,使用clock_t。这种方法是毫秒级。使用方法: #include <time.h> int main(){ clock_t start = clock(); Sleep(1000); clock_t end = clock(); ...

    我这里主要说的计时器。因为我有时候要测试一下模块性能,所以需要计时。
    这里主要说三种:

    1. clock_t
      当对于精度要求不高时,使用clock_t。这种方法是毫秒级。使用方法:

      #include <time.h>
      #include <iostream>
      
      int main(){
      	clock_t start = clock();
      	Sleep(1000);
      	clock_t end = clock();
      	
      	int time = end - start;
      	cout << "Time cost: " << time << endl; //输出1000
      	return 0;
      

      clock()函数获取当前时间,这样相减就可以得到耗时数据。

    2. QueryPerformanceFrequencyQueryPerformanceCounter
      这是windows下的精确时间获取。它需要硬件支持高精度计时器。使用方法:

      #include <windows.h>
      #include <iostream>
      
      int main(){
      	LARGE_INTEGER freq;
       	LARGE_INTEGER start;
       	LARGE_INTEGER end; 
       	QueryPerformanceFrequency(&freq);
       	
       	QueryPerformanceCounter(&start);  
       	Sleep(1000); 
       	QueryPerformanceCounter(&end);
       	
      	double time = (double)(end.QuadPart - start.QuadPart) / (double)freq.QuadPart;
      	cout << " Time cost: " << time << endl;
      	return 0;
      }
      

      这里需要注意的是这里的time是以秒为单位的。所以毫秒级的数据需要×1000,微秒级需要×1,000,000。
      (这里需要注意的是……windows.h这个万恶的头文件……include的时候和很多头文件会有顺序问题)

    3. gettimeofday
      这是Linux下微秒级时间的获取方法。使用方法如下:

      #include <sys/time.h>
      #include <unistd.h>
      #include <iostream>
      
      int main(){
      	struct timeval start, end;
      	
      	gettimeofday( &start, NULL );
      	sleep(1);
      	gettimeofday( &end, NULL );
      	
      	long int time = (end.tv_sec - start.tv_sec) * 1000000 + (end.tv_usec - start.tv_usec);
      	cout << "Time cost: " << time << endl;
      	return 0;
      }
      

      注意: Linux下sleep的s是小写的,而且单位是秒。

    (如有错漏,还望指摘)

    展开全文
  • c++ 计时

    2019-09-29 08:39:01
    //z 2014-06-19 17:18:49 L.195'24071 BG57IV3@XCL T1202481319.K.F636940351 [T22,L436,R14,V351] ...c++ timer 计时 //z 2014-06-19 17:18:49 L.195'24071 BG57IV3@XCL T1202481319.K.F636940351 [T22,L436,...
    //z 2014-06-19 17:18:49 L.195'24071 BG57IV3@XCL T1202481319.K.F636940351 [T22,L436,R14,V351]
    c++ timer 计时
    //z 2014-06-19 17:18:49 L.195'24071 BG57IV3@XCL T1202481319.K.F636940351 [T22,L436,R14,V351]
    //z 2014-06-20 14:28:39 L.194'34281 BG57IV3@XCL T816588223 .K.F1994950968[T65,L612,R42,V717]

    class ZTimer
    {
    public:
    	ZTimer()//z is2120@BG57IV3
    	{
    		Init();
    	}
    
    	explicit ZTimer(const char* desc)
    	{
    		Init();
    		if (desc != NULL)
    		{
    			strcpy_s(_desc, desc);
    		}
    	}
    
    	void Reset()
    	{
    		++_resetCnt;
    		QueryPerformanceCounter(&_startCount);
    	}
    
    	double Elapsed()
    	{
    		return Elapsed(NULL);
    	}
    
    	double Elapsed(char* subDesc)
    	{
    		QueryPerformanceCounter(&_endCount);
    		double fElapsedTime = (_endCount.QuadPart - _startCount.QuadPart) * 1000.0 / _frequency.QuadPart;
    		char cBuff[256] = { 0 };
    		if (subDesc == NULL)
    		{
    			sprintf_s(cBuff, "Elapsed %s.T#%-2d.R#%-2d: %.3f", _desc, _cnt++, _resetCnt, fElapsedTime);
    		}
    		else
    		{
    			sprintf_s(cBuff, "Elapsed %s.%s T#%-2d.R#%-2d: %.3f", _desc,subDesc, _cnt++, _resetCnt, fElapsedTime);
    		}
    		
    		OutputDebugStringA(cBuff);
    
    		return fElapsedTime;
    	}
    
    	~ZTimer()
    	{
    		Elapsed();
    	}
    
    private:
    	void Init()
    	{
    		memset(_desc, 0, sizeof(_desc));
    		_startCount.QuadPart = 0;
    		_endCount.QuadPart = 0;
    		_cnt = 0;
    		_resetCnt = 0;
    		QueryPerformanceFrequency(&_frequency);
    		QueryPerformanceCounter(&_startCount);
    	}
    
    private:
    	LARGE_INTEGER _frequency;
    	LARGE_INTEGER _startCount;
    	LARGE_INTEGER _endCount;
    	char _desc[64];
    	int _cnt;
    	int _resetCnt;
    };

    //z 2014-06-20 14:28:39 L.194'34281 BG57IV3@XCL T816588223 .K.F1994950968[T65,L612,R42,V717]

    转载于:https://www.cnblogs.com/IS2120/p/6745651.html

    展开全文
  • c++计时

    2019-10-10 21:43:57
    使用方法: template <...//应用用来计时的命名空间,该命名空间包含在std中 using namespace std::Chrono; //开始计时 auto start = system_clock::now(); duration<double> diff = sy...

    使用方法:

    template <typename T>
    void meansure(T&& func){
    //应用用来计时的命名空间,该命名空间包含在std中
    using namespace std::Chrono;
    //开始计时
    auto start =  system_clock::now();
    
    duration<double> diff = system_clock::now() - start;
    func();
    cout<<"elapsed :"<< dif.count<<" s"<<endl;
    
    }

     

    展开全文
  • C++计时

    千次阅读 2020-08-08 15:51:01
    C++计时器 本人为初二学生,第一次写blog,还请大家多多包涵 计时器程序并不困难,语法都很基础,但是还挺实用~既然这么沙雕,那就直接开干了! 具体思路:先将输入的数据转换为秒,再遍历,要输出时再转换为小时:...
  • C++ 计时方法

    千次阅读 2019-09-17 08:59:42
    参考博客:... C++计时 #include<ctime>//用万能头文件也行 #include<iostream> using namespace std; int main() { clock_t start = clock(); int...
  • c++计时器代码源码

    2012-04-24 23:31:36
    c++计时器代码源码可以使用可以编译 简单易懂!
  • C++ 计时 C++最好用的计时器类

    万次阅读 2018-08-17 17:47:46
    其实C++11中的chrono库,就是可以用来写计时器,跨平台,跨编译器,下面就是计时器的实现 //timer.h #ifndef W_TIMER_H #define W_TIMER_H #include &lt;iostream&gt; #include &lt;string&gt; #...
  • DEV C++计时

    2020-06-13 15:45:50
    适用于windows DEVC++,是一个能输出一个彩色计时器的C++程序,需要先输入要记多少时,分,秒,输入完毕后屏幕会清空,进入一个彩色的计时器的界面(相同的数字是有相同的颜色),计时结束会发出一点声音 举例: (开始界面) ...
  • C++计时器window平台

    2010-09-27 16:16:55
    一个C++计时器的实现,vs2005+xp编译。精确到毫秒
  • C++计时器操作

    2014-08-25 09:58:58
     C++编程语言应用范围广泛,功能强大,我们在上篇文章中就已经对C++时间的基本概念进行了一个简单的介绍。现在,我们将进一步对C++计时的具体操作进行解读,让大家能从中获得更多的知识。
  • linux中c++计时函数。

    2020-11-29 10:43:41
    linux中c++计时函数。 #include<sys/time.h> //timeval结构定义为: struct timeval{ long tv_sec; /*秒*/ long tv_usec; /*微秒*/ }; //timezone 结构定义为: struct timezone{ int tz_minuteswest; /*和...
  • C++计时器类

    2018-05-30 14:38:30
    计时器类,可获取当前间隔时间,计时控制,FPS帧数统计
  • C++计时函数

    2018-09-30 09:28:00
    【C/C++计时函数比较 #include <windows.h> LARGE_INTEGER t1, t2, tc; QueryPerformanceFrequency(&tc); QueryPerformanceCounter(&t1); //do something QueryPerformanceCounter(&...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,965
精华内容 786
关键字:

c++计时

c++ 订阅