介绍

简单的,耗时计算类。

使用

  1. #include <VElapsedTimer.h>

功能

  1. // 创建对象 记录开始时间 title支持arg 如 "操作耗时:%1"
  2. // 如果没有设置title,析构函数也不会输出
  3. VElapsedTimer(QString title = 0);
  4. // 析构后,根据 title自动输出 title如果为空,不输出
  5. ~VElapsedTimer();
  6. // 返回从创建对象到函数调用耗时 返回单位 毫秒
  7. int elapsed();
  8. // 根据提供的标题,自动拼接title
  9. QString elapsedTitle();
  10. //返回调用者提供的title
  11. QString title() {return m_title;}

实例

手动控制耗时

  1. void Test()
  2. {
  3. VElapsedTimer eTimer;
  4. //被检测的耗时操作
  5. for (int n = 0; n < 100000; ++n)
  6. /* 一些事情 */
  7. qDebug() << eTimer.elapsed();//毫秒
  8. }

100

懒得控制 此处利用局部变量的生命周期来进行输出。
也可以中途获取,不影响析构

  1. void Test()
  2. {
  3. VElapsedTimer eTimer("操作耗时:%1毫秒");
  4. //被检测的耗时操作
  5. for (int n = 0; n < 100000; ++n)
  6. /* 一些事情 */
  7. qDebug() << eTimer.elapsed();
  8. qDebug() << eTimer.elapsedTitle();
  9. }

110 // elapsed() 操作耗时:120毫秒 // elapsedTitle() 操作耗时:200毫秒 //此处输出是析构的结果

实际使用

image.png
image.png