在谈论“长时间运行”的应用程序时,我听说过很多关于 JIT 编译如何使代码运行得比预编译更快的信息。但是,完全优化您的应用程序需要多长时间?
只是为了兴趣,我将向您展示示例。我有一些方法,我们称之为mySlowMethod()
。它每秒执行几百次诸如旋转、乘法等一些矩阵计算。我测量了每次通话的时间并得到了以下结果:
long time = System.nanoTime();
mySlowMethod();
System.out.println(System.nanoTime()-time);
//first call
1577187 (1.6 ms)
//next 2 seconds
~60000 (0.06 ms)
//later
less than 10000 (0.01 ms)