问题标签 [clock]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
9981 浏览

python - Python time.clock() - 使用线程重置时钟值

我看到 Windows 上的 time.clock() 在第一次调用时会“启动”一个计时器,并返回自第一次调用之后经过的时间。我读到重新启动时钟的唯一方法是启动一个新进程。

启动和终止线程是否也应该重新启动 time.clock() ?它现在似乎不起作用。如果不是,是重新启动整个可执行文件的唯一解决方案吗?

0 投票
6 回答
1688 浏览

c++ - 极度 CPU 密集型闹钟

编辑:

我要感谢大家的快速回复^^ Sleep() 按预期工作,我的 CPU 不再被这个程序恶意吞噬!我会保持这个问题不变,但要让大家知道 CPU 问题已经得到了方便和专业的回答:D

顺便说一句,面对更大、更重要的问题,我肯定会确保将微优化保持在最低限度!

==================================================== ===============================

出于某种原因,我的程序(我为欢笑和练习而制作的控制台闹钟)占用大量 CPU 资源。它消耗大约 2mB 的 RAM,对于这样一个小程序来说已经相当多,但它有时会以超过 50% 的资源破坏我的 CPU。

大多数时候我的程序除了倒计时什么都不做,所以我想我的程序的这部分是对我的 CPU 造成如此大压力的部分,尽管我不知道为什么。如果是这样,您能否推荐一种减少它的方法或者如果问题不能轻易解决,也许可以使用一个库来代替?

如果有人浏览 CPlusPlus.com,这是他们作为 clock() 示例编写的 clock() 函数的真正复制/粘贴。这就是为什么评论//Nothing need be done here如此乏味的原因。我还不完全确定 clock() 到底是做什么的。

程序的其余部分调用其他两个函数,每六十秒激活一次,否则返回调用者并倒计时一秒,所以我不认为这太占用 CPU - 虽然我不知道,这是我的第一次尝试在优化代码。

第一个功能是控制台清除system("cls"),我知道使用它真的非常慢而且不是一个好主意。我将更改那个 post-haste,但是,因为它每 60 秒才激活一次,并且有一个明显的滞后峰值,我知道大多数时候这不是问题。

第二个功能也仅每六十秒用更新的剩余时间重写屏幕内容。

如果很明显这个函数不是问题,我将在调用 wait、clearScreen 和 display 的函数中进行编辑。我已经尝试引用大多数变量,因此它们不会被复制,并避免endl因为我听说它与\n.

0 投票
5 回答
5596 浏览

c - 用 RDTSC 在 C 中计算 CPU 频率总是返回 0

以下代码是我们的讲师提供给我们的,因此我们可以测量一些算法的性能:

但是,我需要将此代码移植到具有不同 CPU 频率的机器上。为此,我正在尝试计算运行代码的机器的 CPU 频率,如下所示:

问题是结果总是0,我不明白为什么。我在 VMware 上以访客身份运行 Linux (Arch)。

在朋友的机器(MacBook)上它在某种程度上可以工作;我的意思是,结果大于 0,但它是可变的,因为 CPU 频率不是固定的(我们试图修复它,但由于某种原因我们无法做到)。他有另一台运行 Linux (Ubuntu) 作为主机的机器,它也报告 0。这排除了虚拟机上的问题,我最初认为这是问题所在。

任何想法为什么会发生这种情况,我该如何解决?

0 投票
4 回答
1054 浏览

c - 测量代码块执行时间 N 倍的问题

编辑:在写完这篇解释每一个小细节的长篇文章后,我才发现我的问题......如果有人能给我一个很好的答案,说明我做错了什么以及如何以秒为单位获得执行时间(使用带有 5 的浮点数小数位左右),我将其标记为已接受。提示:问题在于我如何解释 clock_getttime() 手册页。

你好,

假设我有一个名为的函数myOperation,我需要测量它的执行时间。为了测量它,我正在使用其中一条评论clock_gettime()中推荐方法。

我的老师建议我们测量它N的时间,这样我们就可以获得最终报告的平均值、标准差和中位数。他还建议我们执行myOperation M时间,而不仅仅是一个。如果myOperation是一个非常快的操作,测量它M的时间可以让我们了解它所花费的“实时”;导致正在使用的时钟可能没有测量此类操作所需的精度。因此,myOperation只执行一次或M多次真的取决于操作本身是否需要足够长的时间来满足我们使用的时钟精度。

我在处理那次M执行时遇到了麻烦。增加M会降低(很多)最终平均值。这对我来说没有意义。就像这样,从 A 点到 B 点平均需要 3 到 5 秒。但是从 A 点到 B 点再回到 A 点需要 5 次(这就是 10 次,因为 A 到 B 点与 B 点相同)到 A) 然后你测量它。除了除以 10,你得到的平均值应该与你从 A 点到 B 点的平均时间相同,也就是 3 到 5 秒。

这就是我希望我的代码执行的操作,但它不起作用。如果我不断增加从 A 到 B 再返回 A 的次数,每次的平均值都会越来越低,这对我来说毫无意义。

足够的理论,这是我的代码:

注:以上diffTimeClock功​​能来自这篇文。我替换了我的实际操作,myOperation()因为发布我的实际功能没有任何意义,因为我必须发布长代码块,myOperation()如果你愿意,你可以轻松地用任何你喜欢的代码来编写代码。

如您所见,OPERATIONS = 1结果是:

OPERATIONS = 100结果是:

OPERATIONS = 1000结果是:

OPERATIONS = 10000结果是:

现在,我不是数学天才,实际上远非如此,但这对我来说没有任何意义。我已经和一个和我一起做这个项目的朋友讨论过这个问题,他也无法理解这些差异。我不明白为什么当我增加时价值越来越低OPERATIONS。无论我执行多少次,操作本身都应该花费相同的时间(当然,平均而言,不是完全相同的时间)。

您可以告诉我,这实际上取决于操作本身、正在读取的数据以及某些数据可能已经在缓存中等等,但我认为这不是问题所在。就我而言,myOperation是从 CSV 文件中读取 5000 行文本,通过分隔值;并将这些值插入到数据结构中。对于每次迭代,我都会破坏数据结构并再次对其进行初始化。

现在我想起来了,我也认为用 测量时间有问题clock_gettime(),也许我没有正确使用它。我的意思是,看最后一个例子,其中OPERATIONS = 10000. 总共花费了 574133641ns,大概是 0.5s;那是不可能的,花了几分钟,因为我无法忍受看着屏幕等待并去吃东西。

0 投票
1 回答
2888 浏览

android - 简单的 Android 二进制文本时钟

我想创建一个简单的 android 二进制时钟,但我的应用程序崩溃了。我使用 6 个 textview 字段:3 个用于十进制,3 个用于当前时间的二进制表示 (HH:mm:ss)。这是代码:

0 投票
1 回答
206 浏览

datetime - 使用客户端时间计算时区

我没有在注册表单中询问客户端时区(正确格式化日期时间,所有服务器日期都采用 UTC),而是考虑从客户端计算机获取时间并计算客户端和服务器之间的时间偏移。

有人试过这个吗?客户多久会在系统时钟上出现异常情况?

干杯!

0 投票
1 回答
835 浏览

android - 替代时钟应用程序

我最不喜欢 nexus 的就是它在桌面扩展坞上运行的无用应用程序。

我已经浪费了一天的时间来搜索以下 3 个主题,但一无所获。

  1. 是否有任何替代品已经可用?

  2. 有原版的源代码吗?

  3. 是否有关于如何替换它们的文档?

0 投票
3 回答
3468 浏览

c# - .NET - 是否有任何翻转时钟控件?

对于 .NET (Winforms) 应用程序,是否有任何翻转时钟控件?

理想情况下,它看起来像 BlackBerry Bold 上的那种:

替代文字 http://images.crackberry.com/files/u3/reviewimages/blackberry9000c/lgclock3.jpg

更新 1:

在这个SO链接之后,我在我的项目中添加了一个元素宿主来托管@Shane提到的 WPF retroclock。

更新 2:

我遵循的几个步骤:

  • 编译 RetroClock
  • 将 DLL 引用添加到 WinForm App
  • 添加“使用 WPFControls.Clocks;”
  • 将“elementHost”添加到表单
  • 在表单加载事件中添加:

    //create retroclock

    RetroClock rc = new RetroClock();

    //add retroclock to element host

    elementHost1.Child = rc;

更新 3:

设计时钟

0 投票
2 回答
2297 浏览

c++ - 如何确定 std::chrono::monotonic_clock 是否可用?

C++0x N3092 声明 monotonic_clock 是可选的:

20.10.5.2 类 monotonic_clock [time.clock.monotonic]

  1. monotonic_clock 类的对象表示 time_point 的值不会随着物理时间的增加而减少的时钟。如果 system_clock::is_monotonic 为真,则 monotonic_clock 可能是 system_clock 的同义词。

  2. 有条件地支持类 monotonic_clock。

我可以使用 SFINAE 或其他技术来定义特征类以确定是否定义了 monotonic_clock 吗?

如果没有,是否应该有一个标准宏来指示 monotonic_clock 是否可用?

0 投票
7 回答
50391 浏览

java - java中的动态时钟

我想在我的程序中实现一个时钟,以便在程序运行时显示日期和时间。我已经研究了getCurrentTime()方法和Timers,但他们似乎都没有做我想做的事。

问题是我可以获得程序加载但它永远不会更新的当前时间。任何关于要研究的东西的建议将不胜感激!