c++11计时chrono库使用

c++11 chrono

这是一个c++11提供的标准库,为我们屏蔽了不同的操作系统的底层计时方法,学就完事
basically 用于计时我们自己的程序用时(, 尽管我们之后会学到更好的工具)

当前时间

	using namespace std::chrono_literals;	// 引入这个namespace, 后面可以直接写"5s"
    auto start = std::chrono::system_clock::now();	// 记录当前时间
    std::this_thread::sleep_for(5s);		// 本线程休息5秒
    auto end = std::chrono::system_clock::now();	//记录当前时间

    std::chrono::duration<float> duration = end - start;	// 时间差
    std::cout << duration.count() << "s" << std::endl;

不用死记硬背, 用到了直接抄抄改改就行

classTimer

class Timer
{
    std::chrono::time_point<std::chrono::system_clock> start,end;
    std::chrono::duration<float> duration;
public:
    Timer()
    {
        start = std::chrono::system_clock::now();
    }

    ~Timer()
    {
        end = std::chrono::system_clock::now();
        duration = end - start;
        float ms = duration.count() * 1000.0f;
        std::cout << ms << "ms" << std::endl;
    }
};

用法: 直接把这段代码paste到你的文件中用就完事 for example

	using namespace std::chrono_literals;
    Timer timer;
    std::this_thread::sleep_for(5s);