函数的运行时间

2023-12-07

我想打印我的函数的运行时间。由于某种原因,我的计时器总是返回 0。谁能告诉我为什么?

double RunningTime(clock_t time1, clock_t time2)
{
    double t=time1 - time2;
    double time = (t*1000)/CLOCKS_PER_SEC;
    return time;
}

int main()
{
     clock_t start_time = clock();


     // some code.....


    clock_t end_time = clock();

    std::cout << "Time elapsed: " << double(RunningTime(end_time, start_time)) << " ms";

    return 0;
}

我尝试使用gettimeofday它仍然返回0。

double get_time()
{
    struct timeval t;
    gettimeofday(&t, NULL);
    double d = t.tv_sec + (double) t.tv_usec/100000;
    return d;
}

int main()
{
        double time_start = get_time();

        //Some code......

        double time_end = get_time();

        std::cout << time_end - time_start;

    return 0;
}

还尝试使用chrono它给了我各种构建错误:

  • 错误:#error 该文件需要编译器和库支持 即将推出的 ISO C++ 标准,C++0x。目前该支持
    实验性的,并且必须使用 -std=c++0x 或 -std=gnu++0x 启用 编译器选项。
  • 警告:'auto' 将改变 C++0x 中的含义;请删除它
  • 错误:ISO C++ 禁止声明“t1”且无类型错误: 'std::chrono' 尚未声明
  • 错误:请求“(t2 - t1)”中的成员“count”,其值为 非类类型“int”

    int main() { 自动 t1 = std::chrono::high_resolution_clock::now();

                //Some code......
    
                auto t2 = std::chrono::high_resolution_clock::now();
    
                std::cout << "Time elapsed: " << std::chrono::duration_cast<std::chrono::milliseconds>(t2-t1).count() << " milliseconds\n";
    
            return 0;
        }
    

计时器滴答约等于 1/CLOCKS_PER_SEC 秒,即毫秒分辨率。要查看实数(非零)数字,您应该调用一个非常长的时间函数或使用另一个具有更高时间分辨率设施的库:

  • 新的 c++11x 库chrono(使用 MSVS 2012)
  • boost::chrono(不幸的是,该库引用了很多其他库)
  • POSIX函数gettimeofday,这为您提供 1 微秒的时间分辨率
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

函数的运行时间 的相关文章

随机推荐

  • IIS 站点节点不会扩展

    我昨天在本地 IIS 上添加了一个新网站 Windows 8 1 上的 IIS 8 5 添加后 IIS 无限期地挂在加载循环中 最终我不得不通过任务管理器终止它 昨晚很晚了 我屈服了 关掉了电脑 今天早上我的网站都不起作用 全部都返回了No
  • 将标题添加到 xtable

    我不确定这是 R 问题还是 Sweave 问题 我正在一个简单的表格中查看 2 个时间点的学生分数 3 年级和 6 年级 我已经创建了表格并打印出来 但是我想添加标签 以便人们知道哪个分数来自哪个年级 我的 Sweave 代码是 lt
  • 将 XML 转换为动态 C# 对象

    我使用以下 C 代码通过 JSON Net 框架将 JSON 数据字符串转换为动态对象 Creates a dynamic Net object representing the JSON data var ProductDB JsonCo
  • 尝试包含一个库,但不断收到“未定义的引用”消息

    我正在尝试使用 libtommath 库 我在 Ubuntu Linux 上的项目中使用 NetBeans IDE 我已经下载并构建了该库 我已经完成了 make install 以将生成的 a 文件放入 usr lib 并将 h 文件放入
  • Common Lisp,引用值和实际值

    考虑这段代码 defvar lst 1 1 defmacro get x x lst nth x lst defun get y y lst nth y lst 现在让我们假设我想更改名为的列表元素的值lst the car with ge
  • NSUndoManager 在 Swift 代码中转换 NSUndoManagerProxy 崩溃

    在我们的应用程序中 我们使用以下代码 let lInvocationTarget lUndoManager prepare withInvocationTarget self let lInvocationTarget as MyObjec
  • IE6 (IE7) 上的 JSON

    抱歉我的不耐烦 但是经过几周的熬夜并将我的网络上线后 我没有任何剩余的精力来调试 我只是无法谷歌如何在 IE6 和 IE7 上实现 JSON 我正在使用 JSON stringify 据我了解 JSON 不是内置在 IE6 7 上的 必须在
  • d3 单击圆圈暂停并恢复标记沿线的过渡

    我希望帮助纠正我的代码 单击标记圆圈元素以暂停或恢复该元素沿线的转换 我的代码沿一条线移动标记 我可以使用单击按钮元素来暂停和恢复此转换 但我希望能够单击标记圆圈本身 而不是按钮 我使用了各种参考资料 包括 http www nytimes
  • 如何在 PHP 中添加 href 链接? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 我对 PHP 很陌生 并试图即时更新网站 我需要更新代
  • Python - Sqlite插入没有自动增量主键值的元组

    我创建一个带有主键和自动增量的表 with open RAND xml rb as f sqlite3 connect race db as connection c connection cursor c execute CREATE T
  • 计算多列每个字母的频率[重复]

    这个问题在这里已经有答案了 我有一个数据框如下 gt dfnew C1 C2 C3 C4 C5 C6 1 A A G A G A 2 A T T T G G 3 T A G A T A 4 C A A A A G 5 C A T T T C
  • SQLite iOS 插入数据

    我试图将一个名称插入到我的 sqlite 文件中 我正在使用此代码 但它不起作用 void InsertRecords NSMutableString txt if addStmt nil const char sql INSERT INT
  • 我需要使用 { get; 吗?放; } 具有在获取和设置时没有特殊操作的 C# 字段

    我一直在编写这样的类 public class ReportViewModel public string Status public string DataSource public String DataStore get set pu
  • 无限重复列表(用无限重复序列压缩有限列表)

    UserList是一个字典列表 例如 Name Alex Age 25 Name Peter Age 35 Name Muhammad Age 28 Name Raul Age 29 RowColorList是一个颜色列表 bcf fc0
  • 原型回调函数吞掉异常

    使用原型版本 1 6 0 2 我有一个常见的问题 异常在回调函数中抛出时被吞没 通常是当我尝试处理对Ajax Request称呼 这是一个简单的例子 HTML 标记
  • 如何在 UWP 应用中从不同的 URL 播放视频和音频?

    我正在尝试为 UWP 桌面应用程序创建视频播放器 我无法播放来自不同 URL 的视频和音频 我在下面给出了我的代码 但没有给出音频和视频 URL 我正在使用一个Xampp我的案例的本地服务器 请帮我 My MainPage xaml cs
  • 找不到appcompat_v7.apk

    当我尝试运行我的程序时 它可以工作 但是当我查看控制台时 它表明它Could not find appcompat v7 apk 我该如何尝试回答这个问题 我刚刚导入了大部分资源 当我这样做时会发生以下情况 Properties gt An
  • 配置 tomcat 仅针对特定 URL 模式进行客户端身份验证

    我有一个应用程序 其中有几个 war 文件 全部部署在同一个 tomcat 服务器上 我需要仅针对一个战争上下文强制客户端身份验证 并且仅针对特定 URL 我在网上阅读了很多内容并在这里阅读了类似的问题 但我得出的结论与我需要的解决方案不匹
  • Pycharm - 在 Django 控制台中自动加载模型

    有没有办法在 pycharm django 控制台中自动加载模型 与 django extensions shell plus 的工作方式类似 在pycharm设置 django控制台设置中你可以有一个启动脚本 这将自动加载 django
  • 函数的运行时间

    我想打印我的函数的运行时间 由于某种原因 我的计时器总是返回 0 谁能告诉我为什么 double RunningTime clock t time1 clock t time2 double t time1 time2 double tim