撰写代码如下
public class Main { /** * @param args */ public static void main(String[] args) { // TODO 自动生成的方法存根 double a,b; a=test1(10); b=test2(10); System.out.println(a); System.out.println(b); System.out.println(b/a); } public static double test1(int n) { double total=0.0; double t=0.0d; for (int i=0;i<n;++i){ long t0,t1,t2; t0=System.nanoTime(); t1=System.nanoTime(); for(int j=0;j<100000000;++j) { t+=0.1d; } t2=System.nanoTime(); total+=t2-t1-(t1-t0); } return total/n; } public static double test2(int n) { double total=0.0; float t=0.0f; for (int i=0;i<n;++i){ long t0,t1,t2; t0=System.nanoTime(); t1=System.nanoTime(); for(int j=0;j<100000000;++j) { t+=0.1f; } t2=System.nanoTime(); total+=t2-t1-(t1-t0); } return total/n; } }
运行结果如下:
8.32064216E7
8.30583296E7
0.998220185447802
完。
double好慢
我发现我的测试程序有bug