chrono stable_clock 没有给出正确的结果?

2024-03-09

我的应用程序服务器代码中有一行代码,它使用以下命令获取时间戳值steady_clock如下所示:

uint64_t now = duration_cast<milliseconds>(steady_clock::now().time_since_epoch()).count();

现在我们有两个正在运行的系统机器Ubuntu 12 (gcc 4.6.3 compiler)和正在运行的 machineBUbuntu 14 (gcc 4.8.2 compiler).

现在我们使用 make on 编译我们的应用程序服务器代码another Ubuntu 12 VM (which has 4.7.3 compiler)然后将生成的 tar 文件复制到 machineA 并启动我们的应用程序服务器。启动后,上面这行代码在 machineA 中打印出如下值:

1439944652967

现在我们还使用 make on 编译相同的应用程序服务器代码another Ubuntu 14 VM (which has 4.8.2 compiler)然后将生成的 tar 文件复制到 machineB 并启动我们的应用程序服务器。启动后,上面这行代码在 machineB 中打印出如下值:

10011360 

你看到区别了吗?我很困惑为什么会出现这种差异,我无法理解这一点?所有的代码和一切都是一样的。有人对此有任何解释吗?我该如何解决它?

如果需要的话,我可以尝试添加一些调试代码来看看出了什么问题,从而找出这个问题。


恐怕大家对什么有些困惑std::steady_clock is.

time_since_epoch给出自时钟开始以来的持续时间,不一定是 Unix 纪元。steady_clock只保证单调递增。这意味着steady_clock永远向前,永远不会减少。

无法保证steady_clock代表任何有意义的事情。它可以是自程序开始执行以来的持续时间、计算机已打开的持续时间、自最近星期二以来的持续时间,或者几乎任何时间,只要它继续前进即可。

换句话说,steady_clock实际上对于告诉现实世界时间并没有那么有用。它仅对测量时间的流逝有用。它的用途可能包括您有时间点 A 和时间点 B 并且您对它们之间的持续时间感到好奇的任何情况:基准测试、进度估计等。

如果你正在寻找对于现实世界的时间,你应该看看std::system_clock,代表系统时间(即操作系统时间)的时钟。它对于告诉时间很有用,但对于测量差异来说几乎没有用,因为它不能保证是单调的,并且几乎肯定没有夏令时、用户调整时钟以及其他可能改变现实世界时间的事件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

chrono stable_clock 没有给出正确的结果? 的相关文章

  • 使用 #pragma Once 和 #ifndef 时出现 VS 2010 C++ LNK2005 错误

    1 gt Deck obj error LNK2005 class Card card card 3VCard A already defined in Card obj 1 gt PokerTester obj error LNK2005
  • 我的 std::hash for std::tuples...有什么改进吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 有些人可能已经注意到 std hash 不支持元组 所以我添加了一个重载 它看起来比我到目前为止看到的解决方案 更好 有人有进一步减少这段代码的
  • 如何在 ASP.NET MVC 中将 XML 文件发送到客户端

    在 ASP NET MVC 中 我有一个数据库表 我想在某个视图页面上有一个按钮 如果某个用户单击该按钮 我的应用程序将生成包含数据库中所有行的 XML 文件 然后 应将包含 XML 的文件发送到客户端 以便用户看到下载弹出窗口 同样 我希
  • docker:无法连接到位于unix:///var/run/docker.sock的Docker守护进程。 docker 守护进程是否正在运行?

    我通过 Visual Studio Code VScode 版本 1 66 远程连接到学校服务器 Ubuntu 20 04 2 LTS 来执行一些任务 今天我关注 docker com https docs docker com engin
  • C# 异步任务比同步慢

    你知道为什么同步斐波那契方法比异步 等待更快并且比异步任务更快吗 我在每个项目方法上都使用了异步 所以主要是这是一个非常糟糕的方法 Code static int FibonacciSync int number if number 0 r
  • 信号与信号2

    我的应用程序可能会受益于使用 boost 的信号库之一而不是本土解决方案 该应用程序是多线程的 但执行信号处理的部分是单线程的 如果多线程不是问题 是否有任何理由更喜欢 Boost Signals2 而不是 Boost Signal Boo
  • Qt/c++ 随机字符串生成[重复]

    这个问题在这里已经有答案了 我正在创建一个应用程序 需要生成多个随机字符串 几乎就像一个由一定长度的 ASCII 字符组成的唯一 ID 这些字符混合有大写 小写 数字字符 有没有 Qt 库可以实现这一点 如果没有 在纯 C 中生成多个随机字
  • 如何在 Visual Basic DLL 和 C++ DLL 之间创建隔离/免注册 COM?

    我必须在 C DLL 中使用 VB COM DLL 我弄清楚了如何从 C DLL 访问 VB COM DLL 并且它可以工作 现在我遇到了一个问题 我必须使用隔离的 COM 免注册 COM 因为我无法在必须使用它的每台 PC 上注册 DLL
  • FluentAssertions ShouldNotThrow 无法识别异步方法/Func

    我正在尝试检查异步方法是否抛出具体异常 为此 我使用 MSTEST 和 FluentAssertions 2 0 1 我已经检查过这个关于 Codeplex 的讨论 http fluentassertions codeplex com wo
  • std::make_pair 与浮点数组(float2,无符号整数)

    我有一个用 float2 unsigned int 对模板化的向量 例如 std vector
  • ASP.NET MVC 动作过滤器

    有谁知道即使在 CATCH 块中 ActionFilterAttribute 类的 OnResultExecuted 方法是否也会执行 ie CookiesActions public ActionResult Login Usuarios
  • 如何在 C++ 运行时更改 QML 对象的属性?

    我想在运行时更改 QML 对象的文本 我尝试如下 但文本仍然为空 这是后端类 class BackEnd public QObject Q OBJECT Q PROPERTY QString userFieldText READ userF
  • 冒号在c中起什么作用?

    我在课堂上得到了这个例子 但我不确定它的作用 我知道冒号添加了一个位字段 但我仍然不确定这个问题 a b gt 0 3 1 运算符称为条件运算符 If b值为 gt 0 价值3被分配给a否则值1被分配给a 以 Kernighan Ritch
  • 在 C# 命令行应用程序中包含并执行 EXE

    所以我找到了一个很棒的小 EXE 命令行应用程序 我们将其称为 program exe 它输出一些我想用 C 操作的数据 我想知道是否有一种方法可以将program exe 打包 到我的Visual Studio项目文件中 这样我就可以将编
  • 如何释放字符串未使用的容量

    我正在程序中处理很多字符串 这些字符串数据在读入我的程序后的整个生命周期内都不会改变 但由于 C 字符串保留了容量 因此浪费了大量肯定不会被使用的空间 我尝试释放这些空间 但没有成功 以下是我尝试过的简单代码 string temp 123
  • 如果仅使用第一个元素,是否必须为整个结构分配内存?

    我有一个结构 其中第一个元素被测试 并且根据其值 结构的其余部分将被读取或不会被读取 在第一个元素的值指示结构的其余部分不会被读取的情况下 我是否必须为整个结构或仅第一个元素分配足够的内存 struct element int x int
  • 展开 std::reference_wrapper 的成本

    Given include
  • 基础设施 - 同步和异步接口和实现? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在实现库 基础设施时 并且该 API 的用户希望同步和异步使用代码 我读到混合同步和异步并不是一个好主意 例如 同步实现包括等待异步实现 显然
  • Unity - 在生成时获取随机颜色

    我有一个小问题 我想在我的场景中生成四边形 它们都应该有红色或绿色作为材质 但 Random Range 函数只能是 int 我该如何解决它 void SpawningSquadsRnd rndColor 0 Color red rndCo
  • 检查一个数是否是完全平方数?

    我认为以下代码存在精度问题 bool isPerfectSquare long long n long long squareRootN long long sqrt n 0 5 return squareRootN squareRootN

随机推荐

  • BatteryManager 统计信息在 Android 上不起作用

    我正在尝试使用 BroadCastReceiver 获得电池电量 int level intent getIntExtra BatteryManager EXTRA LEVEL 0 int scale intent getIntExtra
  • new File("...") 是否锁定文件?

    我读到了new File path 不会在磁盘上物理创建文件 尽管在 API 中是这样说的 此类的实例可能表示也可能不表示实际的文件系统 对象 例如文件或目录 如果它确实表示这样的对象 则该对象驻留在分区中 分区是文件系统存储的特定于操作系
  • Blazor 服务器和 EF Core:在上一个操作完成之前,已在此上下文实例上启动第二个操作

    我的 ef 核心有问题 我有两个从数据库读取数据的服务 在一个页面上调用第一个服务 在第二个页面上调用第二个服务 当我单击按钮创建新程序时 出现错误 我通常从带有注入服务的页面调用它 有人可以帮我吗 在应用程序中显示 https i sta
  • 部署到 nexus 时 maven-metadata.xml 未更新

    我正在使用 Apache Maven 3 0 Nexus 开源版 版本 1 8 0 1 这是我的 pom xml 的一部分
  • 按下后退按钮时重新启动片段类

    我有一个片段是选项卡视图的一部分 我想在按后退按钮时重新启动此片段 但我不知道如何刷新它 我尝试了一些这样的代码 重新启动 Activity 内的片段 https stackoverflow com questions 13989300 r
  • Android与php:将utf-8字符串保存到MySQL

    我知道我问的问题以前已经被问过很多次了 但我觉得我需要澄清我的问题 我有一个 Android 应用程序 它将 JSON 编码的字符串发送到 PHP 脚本 然后 以下代码将数据保存为完整的 JSON 字符串 还有其他函数可以将数据正确保存到多
  • 从 delphi 调用 .net 程序集 (PSafeArray)

    我在 net 上编写了程序集 这是该程序集的函数 public class OMG public Result test var tmp new List
  • 为什么删除的复制构造函数不允许使用其他多态类型的构造函数?

    我想知道为什么这个程序无法编译 在 msvc gcc 和 clang 上有相同的行为 include
  • 矩阵和向量之间的欧氏距离

    根据另一个向量的每一列计算向量的欧几里德 它是否正确 distances np sqrt np sum np square new v val reshape 10 1 axis 0 new v 是一个矩阵 val reshape 10 1
  • 数据变化时的Activity转换

    我得到了图像适配器 其中每个项目都是用户图像 单击时它会打开一个包含所选用户图像的新活动 因此我将图像标记为共享元素并使用活动转换 我对第二个活动执行的部分操作会影响所有用户 因此适配器调用notifyDataSetChanged并将位置重
  • 混合 datetime.strptime() 参数

    混淆是一个很常见的错误datetime strptime https docs python org 2 library datetime html datetime datetime strptime使用以下格式格式化字符串和日期字符串参
  • Excel 下拉至整列

    如何将下拉菜单 数据验证 复制到 Excel 中的整个列 仅包含其他内容的行 并且 在这种情况下 如何为标题保留行 不要单击单元格 而是单击标题 A B C 等 并转到 数据工具 gt 数据验证
  • 通过 RDP 远程访问 SF 节点

    如何远程连接到 SF 集群中的节点 由于这些只是虚拟机 我感觉我应该能够通过 RDP 访问它们 即使这是我通常想要避免的事情 我将如何进行远程处理 在 Vaclav 的答案中添加一些特定于 Service Fabric 的详细信息 标准 S
  • 退回邮件解析

    我目前在捕获 解析和排序退回的电子邮件方面遇到了麻烦 我已经很好地设置了基础知识 并且它满足了我的要求 这很好 问题是退回的电子邮件中返回的消息似乎没有标准 例如 某些服务器返回 RFC 1893 指定的错误代码 我十有八九可以通过简单的正
  • 如何继承系统的抗锯齿设置,以便像 swing 那样将文本绘制到屏幕外图像?

    当我在 Java 6 下运行 swing GUI 应用程序时 它们会自动使用我为所有字体配置的子像素抗锯齿设置 结果比标准 AA 选项有了很大改善 但是当我绘制图像时 我找不到初始化图形上下文以使用系统的 AA 配置的方法 尝试使用 Jav
  • 如何在 .NET 7 中为 Number 提供通用变量?

    我们可以使用新的INumber
  • 来自 FileObserver 的 Toast

    我有个问题 我正在使用一个FileObserver 它将新文件从监视的目录移动到另一个以前指定的目录 在我看来 只要观察者观察目录 即使应用程序仅在后台运行 也应该显示一条 toast 消息 指出 文件 xy 已被移动 但我没有让它发挥作用
  • “Java 修改的 UTF-8 编码”是什么意思?

    Java 修改的 UTF 8 编码 是什么意思 它与普通的 UTF 8 编码有何不同 javadoc 中有详细描述DataInput http download oracle com javase 6 docs api java io Da
  • DeleteFile() 或 CopyFile() 会抛出异常吗?

    我用DeleteFile and CopyFile方法 这些函数是否抛出异常或只是设置errno and lastError 我需要用以下内容包围这段代码吗try and catch 如果您指的是 Win32 API 函数 答案是否定的 W
  • chrono stable_clock 没有给出正确的结果?

    我的应用程序服务器代码中有一行代码 它使用以下命令获取时间戳值steady clock如下所示 uint64 t now duration cast