问题标签 [stopwatch]

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 投票
3 回答
811 浏览

c# - 为什么我的秒表在 1 秒后一直重置

所以我有以下代码块:

在输出中我有

为什么它每 1000 毫秒重置一次?我需要等待 10 秒,但我无法使用Thread.Sleep(10000);,因为我使用的这个第 3 方库也在休眠,我需要它在那段时间做一些事情。

0 投票
1 回答
106 浏览

php - 如何在测试评估期间保护秒表?

我想知道如何设置秒表并防止他作弊。我打算用

  • date()
  • $_SERVER['DATE_GMT']
  • $_SERVER['DATE_LOCAL']

但我不知道这是否是一个好方法以及我是否走在好的路上。

测试评估必须在时间结束时防止修改(测试结束),我想检查是否$end_test = $end_planned$start_test + 60min.

0 投票
1 回答
1524 浏览

c# - 秒表 Elapsed Ticks 属性的差异

ElapsedTicks & Elapsed.Ticks 是 Stopwatch 的属性,我认为应该是一样的。如果它们相同,为什么它们应该给出不同的输出?

代码 :

输出 :

为什么观察到这种差异?不应该一样吗?

0 投票
2 回答
360 浏览

c# - XP 中的 Diagnostics.StopWatch 时间滞后,但 Win7 中没有

ETA:使用 Environment.TickCount 不会出现同样的问题。
ETA2:我应该补充一点,我实际上并没有在我的应用程序中使用 Forms.Timer - 因为这会否定高频计时器的使用。我在这里使用它来简化代码。

ETA3:我在下面发布了一个解决方法作为答案。

我在一台装有 XP 的笔记本电脑上观察到的 StopWatch 类有问题,但在另一台装有 Win7 的笔记本电脑上却没有。这是测试代码:

在 Windows 7 上,每秒检查经过的毫秒数,我得到类似:0、1010、2030、3005 ...
在 XP 上,我得到类似:0、200、306、390、512、...

也就是说,它是遥不可及的。我们不是在谈论毫秒。这与计时器是否为高分辨率无关,因为报告为真。据我所知,这与处理器亲和力无关,因为我尝试将其设置为 2 个处理器中的每一个。

正如我所说,我认为这与 XP 有关,但也可能与不同的内核有关——然而,两台笔记本电脑都是英特尔的。

0 投票
2 回答
1072 浏览

javascript - Javascript 秒表不从零开始

我这里有一个基本的秒表,但问题是我认为它在页面加载时开始计数,而不是在单击开始按钮时开始计数。同样,当您重置并重新开始时,会发生同样的问题。

我已经尝试定义开始按钮的开始变量 onclick 但到目前为止没有太大成功。非常感谢您的帮助。

0 投票
2 回答
6979 浏览

c# - 精确测量线程中代码的执行时间(C#)

我试图在多个线程上尽可能准确地测量一些代码的执行时间,同时考虑上下文切换和线程停机时间。该应用程序是用 C# (VS 2008) 实现的。例子:

我想尽可能准确地测量上述两个关键代码块的执行时间。标记为AB的两个调用可能是很长的函数调用,有时可能需要几秒钟才能执行,但在某些情况下,它们可能会在几毫秒内完成。

我在多个线程上运行上述代码 - 介于 1 到 200 个线程之间,具体取决于用户输入。运行此代码的计算机有 2-16 个内核 - 用户在较弱的机器上使用较低的线程数。

问题是AB都是潜在的长函数,因此在它们的执行过程中很可能至少会发生一次上下文切换——可能不止一次。所以代码得到 lTimestamp1,然后另一个线程开始执行(并且当前线程等待)。最终,当前线程重新获得控制权并检索 lTimestamp2。

这意味着lTimestamp1lTimestamp2之间的持续时间包括线程实际未运行的时间 - 它在其他线程执行时等待再次调度。然而,滴答计数无论如何都会增加,所以持续时间现在真的是

代码块时间 = A + B +在其他线程中花费的一些时间

虽然我希望它只是

代码块时间 = A + B

对于大量线程来说,这尤其是一个问题,因为它们都有机会运行,因此上述时间会更高,而所有其他线程在相关线程获得另一个运行机会之前运行。

所以我的问题是:是否有可能以某种方式计算线程运行的时间,然后相应地调整上述时间?我想完全或至少尽可能多地消除(减去)第三项。代码运行了数百万次,因此最终的时间是从大量样本中计算出来的,然后取平均值。

我不是在寻找分析器产品等 - 应用程序需要尽可能准确地对这些标记的部分进行计时。函数AB是第 3 方函数,我不能以任何方式更改它们。我也知道在以纳秒精度测量时间时可能出现的波动以及这些 3rd 方函数内部可能存在的开销,但我仍然需要进行此测量。

任何建议将不胜感激 - C++ 或 x86 汇编代码也可以。

编辑:似乎不可能实现这一点。Scott 下面的想法(使用 GetThreadTimes)很好,但不幸的是 GetThreadTimes() 是一个有缺陷的 API,它几乎从不返回正确的数据。感谢所有的答复!

0 投票
1 回答
1429 浏览

javascript - Javascript 秒表插入 HTML

我一直在看这段代码:

http://www.jquery4u.com/jquery-date-and-time-2/online-jquery-stopwatch/

我试图确切地了解它是如何工作的,因为我想在我正在处理的页面上设置一个计时器。

我一生都无法弄清楚将计时器的值添加到输入“disp”的位置以及如何将其放入常规文本而不是表单输入中。

我能看到的唯一提到它的是:

任何人都可以帮我理解这一点,

谢谢

0 投票
1 回答
49582 浏览

time - gettimeofday() C++ 不一致

我正在做一个涉及比较编程语言的项目。我正在计算阿克曼函数。我测试了 Java、Python 和 Ruby,得到了 10 到 30 毫秒的响应。但是 C++ 似乎需要 125 毫秒。这是正常的,还是有问题gettimeofday()Gettimeofday()是在时间.h。

我正在(虚拟)Ubuntu Natty Narwhal 32 位上进行测试。我不缺处理能力(四核 2.13 GHz Intel Xeon)。

我的代码在这里:

0 投票
1 回答
1224 浏览

jquery - jQuery秒表倒计时重置

我正在为我的项目寻找一个 jQuery 秒表。如果我可以使用已经制作的任何东西,只需在谷歌上进行快速搜索。但没有找到适合我的项目的任何东西,因为我需要将它设置为 X 分钟,倒计时为零。还需要一个重置按钮,以便在重置时在 X 分钟后重新启动。找到了这个不错的: http ://www.kellishaver.com/projects/stopwatch/

我应该修改它以满足我的需要还是应该从头开始做一些事情?欢迎任何想法。:)

编辑:

让它按我的意愿工作,如果你想知道我是怎么做的,请阅读这里... jQuery 使 kellishaver 秒表插件倒计时而不是向上

0 投票
3 回答
3009 浏览

c# - C# TimeSpan.FromTicks() 不准确?

一段时间以来,我一直在使用 C# 制作一个小游戏,在另一台 PC 上测试该游戏时,我遇到了一些奇怪的经过时间问题。

我已经在这个游戏中设置了所有设置,以根据自上次游戏循环以来经过的时间进行更新,在大多数情况下应该这样做,但在第二台 PC 上,一切都已经结束了。

我发现问题与使用该FromTicks()方法创建 TimeSpan 有关。我使用以下代码做了一个小测试:

在我的主 PC 上,我运行了这个程序并得到了以下结果:

我完全没想到的东西。我认为第二个结果很不准确,但第一个结果很好。

然后我在另一台 PC 上运行了相同的程序并得到了这个:

我相当震惊。

我在这里的问题不是我如何解决这个问题,我已经决定使用第二种方法,因为它足够准确......相反,我要求启发。

怎么会这样?为什么第一个结果如此不准确?为什么这在不同的机器上会有很大差异?

我检查了msdn以防我使用错误的方法,但那里的例子表明我的结果应该是不可能的......

注意:
我认为 CMOS 电池快没电了,这是一个因素吗?