问题标签 [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 - Java System.nanoTime() 经过时间的巨大差异
我正在使用 android 小部件并检查两次 System.nanoTime() 调用之间的经过时间,而且这个数字很大。你如何用这个来衡量经过的时间?它应该是一秒钟的一小部分,而不是更多。谢谢
java - java.sql.Timestamp 存储 NanoSeconds 的方式
java.sql.Timestamp 构造函数是这样的:
它基本上以毫秒为单位接受时间,然后提取最后 3 位数字并将其设为 nanos。因此,对于 1304135631 421的毫秒值,我得到 Timestamp.getnanos() 为 421000000。这是简单的计算(最后添加 6 个零)......似乎不是最佳的。
更好的方法可能是 Timestamp 构造函数,它接受以纳秒为单位的时间,然后从中计算出纳秒值。
如果您运行以下程序,您将看到实际纳秒与 Timestamp 计算纳秒的方式返回的纳秒之间的差异。
所以所有关于 Timestamp 的讨论都说它存储时间长达纳秒,似乎并不那么正确..不是吗?
java - 基于 System.nanoTime() 减慢时钟;
我有一个基于的计时器System.nanoTime()
,我想减慢它的速度。
我有这个:
where在课堂上较早地now
被调用。System.nanoTime();
为了减慢速度,我尝试了:
但是后来我遇到了seconds
被切成两半的问题,这是不可取的。beforeslow
为 true 时,它在屏幕上显示 10 秒,而当slow
为true 时,它显示 5 秒,这是不可取的。
我想减慢计时器,而不是将其减半并减慢它
另一方面,它减慢了时间,这正是我想要的。
在不将现有时间减半的情况下,我将如何减慢时间?
java - 将 Java 虚拟机与 System.nanoTime 同步
将 java 虚拟机与 System.nanoTime () 同步是否有意义?
我是说 :
- 调用 System.nanoTime() 并将结果放入 t1
- A向B发送数据包
- 当 B 收到来自 A 的数据包时,B 调用 System.nanoTime() 并将结果发送给 A
- 当 A 收到来自 B 的数据包时,A 调用 System.nanoTime() 并将结果放入 t3,将收到的来自 B 的数据包中的时间放入 t2
- 时移 = (t3 - t1) / 2 - t2
使用 System.nanoTime 这样做是否正确?
谢谢 !
java - 为什么我使用 System.nanoTime() 得到一个负的经过时间?
我正在尝试使用以下代码System.nanoTime()
来测量代码的经过时间。
我得到这样的结果:
为什么我得到负值?
(操作系统:windows xp sp3,java:jdk1.6u27)
java - 比较来自不同机器的 System.nanoTime() 值
比较在两台不同机器上调用 System.nanoTime() 产生的两个值是否正确?我会说不,因为 System.nanoTime() 通过使用依赖于处理器的时间戳计数器 (TSC)返回相对于某个任意点时间的纳秒精度时间。
如果我是对的,有没有办法(在 Java 中)在两台不同的机器上捕获一个瞬间,并以至少微秒精度甚至纳米级精度(安全地)比较这些值?
System.currentTimeMillis() 不是解决方案,因为它没有返回线性增加的时间戳数。用户或NTP等服务可以随时更改系统时钟,时间会前后跳跃。
java - System.nanoTime 有什么问题?
我有一个很长的字符串,最后的模式</value>
是,我正在尝试测试一些函数调用的性能,所以我进行了以下测试以试图找出答案......但我想我可能正在使用 nanoTime不正确?因为无论我如何交换订单,结果都没有意义......
我得到以下信息:
无论我交换它们的顺序,数字总是相同的......这里有什么交易?
来自 java.sun.com 网站的常见问题解答:
在代码中的各个点之间使用 System.nanoTime() 来执行经过时间的测量应该总是准确的。
还:
http://download.oracle.com/javase/1.5.0/docs/api/java/lang/System.html#nanoTime ()
java - 为什么我搜索的次数越多,我的搜索时间就越短?
我正在做一项任务,要求我测量两种不同的搜索算法所花费的时间,顺序和二进制(我想说明效率)。我有一个大约 280 个单词的目标列表和一个大约 1200 个单词的搜索池列表。我已经读取了这两个文件并将单词存储在 ArrayLists 中。
这是我到目前为止实现的顺序算法的相关位:
在此之后,我会显示进行的比较次数和经过的时间(以毫秒为单位,所以我先除以一百万)。
前几个数字的返回时间约为 0.5 到 0.7 毫秒。这个数字向下摆动到第 32 个字,耗时 0.1 毫秒。剩下的 150 个字都需要 0.0 ms。
我期望比较次数和经过的时间之间存在直接相关性。知道出了什么问题吗?
旁白:我想到 compareTo 方法进行的比较次数(即字长)可能会影响时间,但是即使是未出现在搜索列表中的长字(因此必须与之前的所有项目进行比较)得出结论)如果它们出现得更远,请不要花时间。
java - Java System.nanoTime 经过的平均时间越来越小
这不是我第一次在编程语言中遇到时钟时间问题。基本上,我通过在 while 循环中调用一个函数来测量它的运行速度。问题是由于某种原因,while 循环运行的时间越长,经过的时间越短。谁能解释一下?代码如下。
所以在大约 1,000 次运行后,经过的时间是 750k 到 850k。但是在大约 100,000 次运行后,经过的时间下降到 580,000 到 750,000。通过观察平均值 (stats.getMeans()) 可以最好地注意到持续下降,在 108k 循环之后,平均值约为 632k,而 3k 循环后平均值约为 100 万。切换到 currentTimeMillis 而不是 nanoTime 不会改变任何东西。
java - java - system.nanoTime() 运行太慢
我在我的应用程序中使用 system.nanoTime 并计算相对于开始时间的时间。
我的应用程序运行得非常好,直到我将它复制到一台新计算机上,并且纳米时间给了我较慢的值。
我写了一个简单的应用程序只是为了确保。
纳米时间与系统时间进行比较。
它在除我的新计算机之外的其他计算机中显示相同的值。有什么建议么?
这是我的代码:首先我有
比我循环一个每秒运行的线程:
编辑:我正在使用 nano 因为我需要处理在 nano 时间内发生的甚至 ts 并将接收到的 nano time 打印到日志中