jjzjj

nanoTime

全部标签

java - 为什么 System.nanoTime() 比 System.currentTimeMillis() 慢(在性能上)?

今天我做了一个快速的Benchmark来测试System.nanoTime()和System.currentTimeMillis()的速度性能:longstartTime=System.nanoTime();for(inti=0;i这是结果:System.currentTimeMillis():averageof12.7836022/functioncallSystem.nanoTime():averageof34.6395674/functioncall为什么运行速度差异这么大?基准系统:Java1.7.0_25Windows864-bitCPU:AMDFX-6100

iphone - Java 的 System.nanoTime() 的 iOS 等价物是什么?

Java的System.nanoTime()在iOS中的等价物是什么?基本上我只是想要一种简单的方法来查看函数执行需要多少毫秒(或几分之一毫秒)。 最佳答案 您可能正在寻找CFAbsoluteTimeGetCurrent().CFAbsoluteTimebefore=CFAbsoluteTimeGetCurrent();//YoucodehereCFAbsoluteTimeafter=CFAbsoluteTimeGetCurrent();NSLog(@"duration=%f",after-before);

java - 为什么将 System.nanoTime() 转换为 Calendar 对象会给我错误的当前日期?

如果我理解正确,使用System.nanoTime()比System.currentTimeInMillis()更准确地保持当前时间的标记,即使系统时间改了。那么为什么当我将nanoTime()的长值转换为Calendar对象时,输出是错误的?importjava.util.Calendar;publicclassTest{publicstaticvoidmain(String[]args){Calendarc=Calendar.getInstance();c.setTimeInMillis(System.currentTimeMillis());System.out.println(

Java 计时,System.nanoTime() 比 System.currentTimeMillis() 更胜一筹,但它会持续 sleep 吗?

我正在尝试实现一个计时器,它可用于短(秒)事件或更长(小时等)事件。理想情况下,它应该在CPU关闭期间持续存在,例如,电池没电了。如果我使用System.currentTimeMillis()设置开始时间并使用相同的函数设置结束时间,它几乎适用于所有情况,但闰秒、闰年、夏令时更改等期间除外……或者,如果用户只是更改时间(我已经验证了这一点)。顺便说一句,这是在Android系统上。相反,如果我使用System.nanoTime(),除了可能更准确之外,它不会有时间变化等常见的“困难时期”问题。我的问题是,System.nanoTime()在“困难时期”从任意时间开始测量纳秒?我不确定正

java - Android:深度 sleep 的时间间隔(System.nanoTime(), System.currentTimeMillis(), SystemClock.elapsedRealtimeNanos())

我正在实现一个最低API级别14(这很重要)并且需要一致的间隔测量的应用程序。不需要ms精度,它只需要始终计算时间(经过的秒数)。到目前为止,要处理时间间隔,我知道这些解决方案:System.nanoTime()-如果Android正在运行,效果很好,但在深度sleep时停止(这很糟糕)。System.currentTimeMillis()-很好,但不合适,因为它可以由用户或使用setCurrentTimeMillis(long)的代码更改。SystemClock.elapsedRealtimeNanos()-即使在深度sleep时也计算耗时,但需要API级别17。是否有另一种方法可以

java - 为什么我的 System.nanoTime() 坏了?

我自己和我当时的另一位开发人员最近从工作中的Core2Duo机器转移到新的Core2Quad9505;都运行带有JDK1.6.0_18的32位WindowsXPSP3。这样做后,由于从System.nanoTime()返回的值看起来很荒谬,我们针对某些计时/统计/指标聚合代码的几个自动化单元测试立即开始失败。在我的机器上可靠地显示此行为的测试代码是:importstaticorg.junit.Assert.assertThat;importorg.hamcrest.Matchers;importorg.junit.Test;publicclassNanoTest{@Testpublic

java - -System.nanoTime() + System.nanoTime() 是否保证 >= 0?

大家好,我有一段代码如下所示:publicclassTest{publicstaticvoidmain(Stringargs[]){longa=System.currentTimeMillis();//line1longb=System.currentTimeMillis();//line2assertb-a>=0;longy=System.nanoTime();//line5longz=System.nanoTime();//line6}}所以IERS表示下一个闰秒将在2012年6月30日11:59.9之后立即发生。我想知道如果第1行在30thJune201211:59.9转1st2

java - 为什么第一次 nanoTime() 调用和后续调用之间的时间差异如此之大?

所以我的问题比较笼统。我有以下简单代码:for(inti=0;i我收到以下输出:test0:runtime=153956test1:runtime=15396test2:runtime=22860test3:runtime=11197test4:runtime=11197test5:runtime=12129test6:runtime=11663test7:runtime=11664test8:runtime=53185test9:runtime=12130第一次运行时和第二次运行时的区别是什么原因?提前致谢=) 最佳答案 JVM和

java - 在 Java 中使用 System.nanoTime() 时,为什么我应该使用 t1 - t0 < 0,而不是 t1 < t0

当我阅读Java中的System.nanoTime()API时。我找到了这一行:oneshoulduset1-t0http://docs.oracle.com/javase/7/docs/api/java/lang/System.html#nanoTime()TocomparetwonanoTimevalueslongt0=System.nanoTime();...longt1=System.nanoTime();oneshoulduset1-t0我想知道为什么t1-t0是防止溢出的首选方法。因为我从其他一些帖子中读到A比A-B更可取.JavaIntegercompareTo()-wh

c# - .NET 中的 System.nanoTime() 等效于什么?

标题几乎是不言自明的,我为这种简单而自杀。看了here,但帮助不大。 最佳答案 我认为Stopwatchclass就是你要找的。 关于c#-.NET中的System.nanoTime()等效于什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1551742/