问题标签 [nanotime]

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 回答
7389 浏览

java - 纳秒和毫秒

这给了我:

我想问的是这两个数字是多少秒?我的意思是它们是 0.15, 0.015, 0.0015...?我想以这种方式打印它们,而不是作为long但不知道要添加多少小数。另一个号码也有同样的问题。

0 投票
1 回答
199 浏览

php - 使用 PHP 在 Windows 中查找 Nano Time

我想在 php 中创建一个唯一的 id。我使用了 uniqid() 但 microtime 没有帮助,因为该函数位于循环内,并且一组连续的结果完全相同!所以我想知道我是否可以使用纳米时间。在 linux 中可以使用 system() 函数。在 Windows 中有没有这样的方法可以让我在 PHP 中获得纳米时间?

0 投票
1 回答
525 浏览

java - 以毫秒为单位的时间戳不能正确转换为小时、分钟和秒?

下面是我的简单计时器类,它在最简单的情况下运行良好。我正在使用下面的计时器类来测量某些代码在执行时需要多少时间。

下面是我如何使用上面的计时器类。我以毫秒为单位获得了执行某些代码然后将其转换timestamphours,minutesseconds.

问题陈述:-

我面临的问题是timeTakentimestamp 没有正确地转换为hours, 。意思是,如果代码总共运行了 2 分钟,那么我的显示正确的结果。minutessecondssys.out

但是假设如果这个方法some_code_which_I_am_measuring运行了两天,那么我的sys.out结果是错误的。举个例子,我开始了我的程序——Fri 5/23/2014 9:40 PM它结束了,Sun 5/25/2014 9:38 PM所以我sys.out应该告诉我~48执行代码需要几个小时。正确的?

但总的来说它会打印出来 -

Total Time Taken: 23 hours 57 minutes 35 seconds

这是错误的,因为您可以看到上面的日期需要 48 小时才能完成任务。

我上面的代码有什么问题吗?

更新:-

加上天数后,整体时间戳应该是这样的?

0 投票
2 回答
970 浏览

java - 快速排序未排序列表比排序列表运行得更快

对于带有第一个元素枢轴的快速排序,我得到了奇怪的计时结果。我的代码首先使用未排序的非随机整数列表运行快速排序。然后它对先前的排序列表进行排序。使用我选择的枢轴,我预计快速排序在排序列表中运行比未排序列表最差。我已经用以下结果验证了这一点:

请注意,时间安排没有意义。Quicksort 2nd run 应该比 Quicksort 1st run 慢。

快速排序算法是正确的。所以我实现计时器的方式一定有问题。

完整代码:

我不知道 Java 的 nanoTime() 调用有什么怪癖吗?有任何想法吗?

0 投票
1 回答
9485 浏览

java - Java - 运行方法中的 Thread.sleep

我正在学习一个教程,下面是生成逻辑和框架更新的运行方法。我了解滴答声如何以 60 滴答声/秒的速度更新,但我不明白我们如何在这里调整每秒帧数。

现在使用 Thread.sleep(2),每秒帧数约为 460。没有它,数字会大幅上升,每秒更新约 1000 万次。代码 Thread.sleep(2) 仅将线程挂起 2 毫秒,对吗?为什么/如何 Thread.sleep 在这里准确地工作以降低它这么低?

创建一个 nsPerFrame = 1000000000D/ (FPS)D 来设置我想要的任何 FPS 不是更简单吗?

0 投票
1 回答
1231 浏览

android - 哪个更适合计时,nanoTime 或 elapsedRealtimeNanos?

两者似乎都适合在 Android 上计时。它们有何不同?哪一个最适合计时?

0 投票
2 回答
102 浏览

java - “<”或“>”运算符如何溢出?

我对 Java 中 System.nanoTime() 方法的文档中的以下语句很感兴趣:

...

应该使用t1 - t0 < 0,不要t1 < t0,因为数值溢出的可能性

来源:http://docs.oracle.com/javase/7/docs/api/java/lang/System.html#nanoTime()

为什么它t1 < t0可能会“溢出”?这在 Javadocs 中,但我想它适用于任何语言。

0 投票
3 回答
1312 浏览

java - 为什么这个简单的 C++ 加法比等效的 Java 慢 6 倍?

你好stackoverflow用户,这是我的第一个问题,所以如果我的表达方式有任何错误,请指出,谢谢

我用 Java 和 C++ 编写了这个简单的计算函数

爪哇:

C++:

软件: - JDK8u11 - Microsoft Visual C++ 编译器 (2013)

结果:

爪哇:2305843005992468481 1096361110

C++:2305843005992468481 6544374300

计算结果是一样的,这很好,但是打印的 nano time 显示 Java 程序需要 1 秒,而在 C++ 中需要 6 秒来执行

我做 Java 已经有一段时间了,但是我是 C++ 新手,我的代码有什么问题吗?还是 C++ 通过简单的计算比 Java 慢的事实?

另外,我在我的 C++ 代码中使用了“register”关键字,希望它能带来性能提升,但执行时间并没有什么不同,有人可以解释一下吗?

编辑:我的错误是C++编译器设置没有优化,输出设置为x32,应用/O2 WIN64并删除DEBUG后,程序只花了0.7秒执行

JDK默认对输出进行优化,但是VC++不是这样,默认有利于编译速度,不同的C++编译器的结果也不同,有些会在编译时间内计算循环的结果,导致执行时间极短(大约 5 微秒)

注意:在适当的条件下,C++ 程序在这个简单的测试中会比 Java 表现得更好,但是我注意到许多运行时安全检查被跳过,违反了它作为“安全语言”的调试意图,我相信 C++ 在大型数组测试,因为它没有边界检查

0 投票
5 回答
3926 浏览

perl - 如何在 Perl 中以纳秒为单位获取系统时间?

我想在 Perl 中以纳秒为单位获得系统时间。我尝试Time::HiRes了模块,它只支持微秒。

0 投票
1 回答
1684 浏览

java - Android:深度睡眠的时间间隔(System.nanoTime()、System.currentTimeMillis()、SystemClock.elapsedRealtimeNanos())

我正在实现一个具有最低 API 级别 14(这很重要)并且需要一致的间隔测量的应用程序。不需要毫秒精度,它只需要始终计算时间(经过的秒数)。

到目前为止,为了处理时间间隔,我知道这些解决方案:

  1. System.nanoTime()- 如果 Android 正在运行,效果很好,但在深度睡眠时停止(这很糟糕)。
  2. System.currentTimeMillis()- 好,但不合适,因为它可以由用户或使用setCurrentTimeMillis(long).
  3. SystemClock.elapsedRealtimeNanos()- 即使在深度睡眠时也计算经过的时间,但需要 API 级别 17。

是否有另一种方法可以在 API 14 上获得合理的第二精度间隔测量?
我想过使用System.currentTimeMillis()监听广播意图来查看系统时钟是否发生了变化。然而,这似乎不是最好的解决方案。