我完全不知所措,我不知道发生了什么事...
//import java.util.Random;
public class TestInProgress {
public static void main(String[] args) {
long start, end;
long average;
// Random random= new Random();
for(int j=0; j<5; j++) {
average= 0L;
for(int i=0; i<100; i++) {
start= System.nanoTime();
double temp= fastComputeSigm(0.0);
end= System.nanoTime();
average+= (end - start);
}
average= average/ 100L;
System.out.println("AVERAGE FASTCOMPUTE: "+average);
average= 0L;
for(int i=0; i<100; i++) {
start= System.nanoTime();
double temp= Math.exp(0.0)/(1.0 + Math.exp(0.0));
end= System.nanoTime();
average+= (end - start);
}
average= average / 100L;
System.out.println("AVERAGE SIGMOID: "+average);
}
}
static double fastComputeSigm(double value) {
return 0.0;
}
}
最令人惊讶的是输出:
最快的计算机:98 平均SIGMOID: 38625:最快的计算机:
106平均SIGMOID:65平均快速计算机:299平均SIGMOID:201
平均快速计算机:36平均速度:65平均快速计算机:53
平均SIGMOID:57
看到了吗?我未评论随机(及其导入)
您会期待什么?输出:
最快的计算机:90 平均SIGMOID:324最快的计算机:131
平均SIGMOID:73平均快速计算机:217平均SIGMOID:36
平均快速计算机:53平均速度:12平均快速计算机:53
平均SIGMOID:69
我在日食Oxygen.3a版本(4.7.3a)上尝试了此操作
我正在使用Java 10.0.2
我的电脑装有Intel Core i5-7300HQ
具有这些高速缓存的存储器:L1 256,L2 1024,L3 6M
我在Windows 10上运行
注意:我试图用j <1,2,3,...来使forloop多次,第一个Sigmoid总是有荒谬的时间长度
编辑:尝试使用Windows命令行(javac和java)启动它,结果相同