Java中的System.nano()很慢
System.nano()调用耗时450 nano,超级慢,比new Object()的操作慢100倍。比System.currentMillis()慢20多倍。经一群无聊好事者查证,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();}
页:
[1]