我需要使用Java代码中的不同参数重复计算JavaScript函数的值。 我正在做这样的事情:
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine mEngine = mgr.getEngineByName("JavaScript");
Random rnd = new Random();
for (int i = 0; i < 10000; i++)
{
Date s = new Date();
mEngine.eval(String.format("%f*%f + %f*%f", rnd.nextDouble(),rnd.nextDouble(),rnd.nextDouble(),rnd.nextDouble() ));
Date e= new Date();
long time = (e.getTime() - s.getTime());
System.out.println("calc Time is " + time);
}
结果,计算时间与迭代次数成比例地增加。 例如,在第一次迭代计算时,时间是45毫秒,在200-135毫秒,在400-261毫秒。 我究竟做错了什么?我该如何解决这个问题?