我们在写算法时要考虑到算法的执行效率,有的题目规定了时间限制,我们需要在这个时间之内去解决问题。如果我们需要比对算法的好坏,就需要输出这个程序运行了多长时间。在C或C++中计算程序执行时间,可以使用多种方法,下面我介绍几种比较常见且好用的几种方法,大家可以选择适合自己的一种记住就可以了。方法1:使用 ...
这个是实打实的计算程执行时间的,其原理类似一个计时器,当执行到 auto start = std::chrono::high_resolution_clock::now();这个语句获取一个时间,开始计时。auto end = std::chrono::high_resolution_clock::now();这个语句也是获取一个时间,执行完就结束计时,最后,使用count()函数以秒为单位打印出运行时间。
std::cout << "程序运行时间: " << time_span.count() << " 秒" << std::endl; return 0; } 在这个示例中,我们首先包含了<chrono>库,我们使用high_resolution_clock::now()函数获取程序开始和结束时的时间点,通过计算两个时间点之差,并将其转换为秒(duration<double>),我们可以计算出程序运行所需的...
可以使用C++11中的<chrono>头文件中的高精度计时器,以毫秒为单位测量程序的执行时间。以下是一个示例代...
C语言 记录程序的执行时间 #include <iostream>#include<chrono>#include<unistd.h>usingnamespacestd;//测量 C++ 程序运行时间的主函数//使用 Chrono 库intmain() { auto start=chrono::steady_clock::now();//在这里做一些事情sleep(3); auto end=chrono::steady_clock::now();...
std::cout << "程序运行时间: " << elapsed.count() << " seconds" << std::endl; return 0; } 注意事项: std::chrono::high_resolution_clock提供了尽可能高的精度。 std::chrono::duration用于表示时间间隔。 选择合适的方法取决于你的需求和平台。
正如您在第19行看到的那样,我们选择将测得的时间转换为纳秒(尽管稍后将其转换为秒)。如果你愿意,你可以修改代码以使用您选择的其他单元,使用chrono::hours,chrono::minutes,chrono::seconds,chrono::milliseconds,或chrono::microseconds。 注意:我见过有人提到,与其他C / C ++方法相比,使用此库衡量执行时间可能会...
count() << " 毫秒" << std::endl; return 0; } 总结 对于C语言,推荐使用clock()函数或gettimeofday()函数来计时程序运行时间。 如果你在使用C++,可以考虑使用<chrono>库,它提供了更高精度和更灵活的时间测量功能。 根据具体需求和平台环境选择合适的计时方法。
c/c++ AOP 统计语句运行时间 宏定义 #include <chrono>#defineTIMEDEBUG#ifdef TIMEDEBUG#defineRD(X) {RunDuration o;o.begin();##X;o.end(#X);}classRunDuration {public: inlinevoidbegin() { _start=std::chrono::system_clock::now();
std::this_thread::sleep_for(std::chrono::milliseconds(500))表示暂停运行0.5秒。 总结 高精度测量执行时间在计算机编程中是必不可少的,可以帮助我们实现更加准确可靠的程序。使用C语言中的clock()和usleep()函数以及C++语言中的high_resolution_clock实际上是将一段时间内计数器所记录下来的数值进行换算得出的准确...