我正在创建一个程序,每次函数时都会获得该函数的执行时间,但是问题是,当它输入第一个函数后,下一个函数将获得执行时间0或1毫秒:
function1:
long start = System.currentTimeMillis();
//
//
//some code
//
//
//
long end = System.currentTimeMillis();
System.out.println("function1 took: " + (end - start) + "ms");
function2:
long start = System.currentTimeMillis();
//
//
//some code
//
//
//
long end = System.currentTimeMillis();
System.out.println("function2 took: " + (end - start) + "ms");
function3:
long start = System.currentTimeMillis();
//
//
//some code
//
//
//
long end = System.currentTimeMillis();
System.out.println("function3 took: " + (end - start) + "ms");
输出为:
函数1摄取:49ms
函数2摄取:1ms
函数3取:0ms
您可以看到,在第一个效果之后,似乎没有正确地对以下功能进行计算。希望你能回答我的疑问。
尽管这取决于您的方法和实现,但我认为ms
不够准确,无法为您提供时间。
您可以使用链接,如何在Java中使用方法的执行时间?在更准确的时间里。
还可以将每个方法放在单独的线程中,并同时运行,如果它们独立于超级执行中。