转载自

https://levelup.gitconnected.com/8-ways-to-measure-execution-time-in-c-c-48634458d0f9

#include <chrono>
class ElapsedTimer
{
public:
	void start() {
		begin = std::chrono::steady_clock::now();
	}
	int64_t nsElapsed() {
		std::chrono::steady_clock::time_point end = std::chrono::steady_clock::now();
		return std::chrono::duration_cast<std::chrono::nanoseconds>(end - begin).count();//[ns]
	}
	int64_t µsElapsed() {
		std::chrono::steady_clock::time_point end = std::chrono::steady_clock::now();
		return std::chrono::duration_cast<std::chrono::microseconds>(end - begin).count();//[µs]
	}
	int64_t msElapsed() {
		std::chrono::steady_clock::time_point end = std::chrono::steady_clock::now();
		return std::chrono::duration_cast<std::chrono::milliseconds>(end - begin).count();//[ms]
	}
	int64_t sElapsed() {
		std::chrono::steady_clock::time_point end = std::chrono::steady_clock::now();
		return std::chrono::duration_cast<std::chrono::seconds>(end - begin).count();//[s]
	}
	double_t msElapsedf() {
		std::chrono::steady_clock::time_point end = std::chrono::steady_clock::now();
		return (std::chrono::duration_cast<std::chrono::microseconds>(end - begin).count()) / 1000.0;//[ms .]
	}
	double_t sElapsedf() {
		std::chrono::steady_clock::time_point end = std::chrono::steady_clock::now();
		return (std::chrono::duration_cast<std::chrono::microseconds>(end - begin).count()) / 1000000.0;//[s .]
	}
private:
	std::chrono::steady_clock::time_point begin;
};

相关文章:

  • 2022-12-23
  • 2021-12-11
  • 2022-12-23
  • 2021-06-08
  • 2021-05-26
  • 2022-02-20
  • 2021-12-23
  • 2022-12-23
猜你喜欢
  • 2021-11-13
  • 2021-12-08
  • 2021-06-01
  • 2022-12-23
  • 2021-11-09
  • 2022-01-01
  • 2022-12-23
相关资源
相似解决方案