Java中的System.nano()很慢

System.nano()调用耗时450 nano,超级慢,比new Object()的操作慢100倍。

经一群无聊好事者查证,System.nanoTime()在linux下的实现,最终调用clock_gettime系统函数。

100万次调用耗时,java语言中System.nanoTime()和C语言中的clock_gettime()调用时间基本一致,所以System.nanoTime()慢的原因就是系统调用clock_gettime。

无聊好事者请注意,自行测试System.nanoTime()性能时,要这样写:
for (int i = 0; i < 1000 * 1000++i) {
    
long v = System.nanoTime();
}

而不能这样写:
for (int i = 0; i < 1000 * 1000++i) {
    System.nanoTime();
}


原文地址:https://www.cnblogs.com/jobs/p/1894863.html