问题标签 [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.
java - 有人可以解释一下 System.nanoTime() 的描述吗?
This method provides nanosecond precision, but not necessarily nanosecond accuracy. No guarantees are made about how frequently values change. Differences in successive calls that span greater than approximately 292 years (263 nanoseconds) will not accurately compute elapsed time due to numerical overflow.
我不确定这些值如何不精确以及数字溢出背后的逻辑。
java - 除以 1e9d 是什么意思?
这是片段:
someTime
是通过使用导出的System.nanoTime()
。在这里做什么1e9d
?
java - 具有纳秒分辨率的 Java 8 Instant.now()?
Java 8 的 java.time.Instant 以“纳秒分辨率”存储,但使用 Instant.now() 仅提供毫秒分辨率...
结果...
如何获得值为“现在”但具有纳秒分辨率的 Instant?
c++ - 使用clock_gettime在arduino中进行纳秒测量
我使用 Arduino 和 Xbee Zg 制作了一个本地化项目,我需要使用具有84 Mhz 时钟和arduino 1.5.2 IDE的arduino due board 以纳秒分辨率测量时间
我正在尝试使用clock_gettime
我已经包含 time.h 的函数,但我得到相同的
编译错误
clock_gettime
未在此范围内声明
这只是我的 Distance_Measurement.c 文件的一部分
请帮我
java - System.nanoTime 与 System.currentTimeMillis
根据其文档, System.nanoTime 从某个固定但任意的原始时间返回纳秒。但是,在所有 x64 机器上,我尝试了下面的代码,出现了时间跳跃,移动了固定的原始时间。我使用替代方法(此处为 currentTimeMillis)获取正确时间的方法可能存在一些缺陷。然而,测量相对时间(持续时间)的主要目的也受到负面影响。
当我将不同的队列与 LMAX 的 Disruptor 进行比较时,我在尝试测量延迟时遇到了这个问题,有时我会得到非常负的延迟。在这些情况下,开始和结束时间戳是由不同的线程创建的,但延迟是在这些线程完成后计算的。
我的代码在这里使用 nanoTime 花费时间,以 currentTimeMillis 时间计算固定原点,并在调用之间比较该原点。既然我必须在这里问一个问题:这段代码有什么问题?为什么它观察到违反固定来源合同的行为?还是没有?
现在我做了一些小改动。基本上,我将两个 currentTimeMillis 调用之间的 nanoTime 调用括起来,以查看线程是否已被重新调度(这应该比 currentTimeMillis 分辨率多)。在这种情况下,我忽略了循环周期。实际上,如果我们知道 nanoTime 足够快(如在 Ivy Bridge 等较新的架构上),我们可以将 currentTimeMillis 与 nanoTime 括起来。
现在超过 10 毫秒的长跳跃消失了。相反,我们计算每个线程距离第一个原点超过 2 毫秒的时间。在我测试过的机器上,对于 100 秒的运行时间,调用之间总是有接近 200.000 次跳转。对于那些我认为 currentTimeMillis 或 nanoTime 可能不准确的情况。
java - 计时器循环显示 0 滴答而不是 60
我有以下代码:
这应该显示“60 Ticks,FPS 9000000”,但它显示“0 Ticks,FPS 9000000”。为什么会这样,我该如何解决?
java - 使用 UUID.randomUUID() 并多次调用方法?
对于班级分配,我必须比较不同列表的性能,使用 UUID.randomUUID().toString() 在列表中插入几千个随机字符串并记录使用 nanoTime() 方法需要多长时间。我只是不记得如何将我的列表的 add 方法的调用量设置为某个数字,或者至少如何使用 UUID.randomUUID() 进行设置。
是我所拥有的,当然,它只是插入一个随机字符串。
我知道这可能是一个简单的问题,但我在谷歌搜索或此处找不到任何答案,因此将不胜感激!谢谢。
java - Java 奇怪的行为:使用 println 的运行时间更快
我在 Java 中看到了一些奇怪的行为:
注释 aprintln
会使函数执行速度变慢。
取消注释println
会使函数执行得更快。
我希望这会被扭转,因为println
应该花费时间。
触发器是函数System.out.println("");
中的。
注释行后,我得到 2.5 秒。
在未注释该行的情况下,我得到 1.9 秒。sequentialProcessData
该行为独立于使用nanotime()
或currentTimeMillis()
测量时间。
println
此外,在使用标志触发时,我无法重现该行为。
使用 Eclipse、jdk1.7.0_51 (JavaSE)、Windows 7(8 核,以防万一)进行测试。
谢谢
编辑
此行为仅在我在 Eclipse 中编译代码时发生。(在 Eclipse 和 shell 中运行都有这种奇怪的行为)
如果我在 shell(javac Main.java)中编译,那么行为是正常的,即 println 版本较慢(大约 1 秒)。
Eclipse 编译器有什么奇怪的地方吗?
代码:
java - consecutive coin flip
I apologize in advance for my lack of Java knowledge. I am new to Java programming and am trying to make a program where I can flip a coin and count how many times the coin lands on heads within N amount of rolls, measure the time it takes to do so, and then print it out in the Console so that I can save it in a .txt file. I think I've almost gotten it; I'm just having difficulties printing it out now. Any help would be appreciated! I'm stuck!
java - Java:使用 System.nanoTime() 排序函数执行时间过长
我正在尝试获取不同数组大小的各种排序方法的总经过时间。我能够获得 size = 100、1000、10000 和 100000 的经过时间,但是当我尝试 1000000 时,它只是继续运行而没有给出结果(我假设 1000000 太大了?)。有没有办法使用 nanoTime 来获取经过的时间,它会在合理的时间内编译?任何帮助都会很棒!
我的程序: