开始了:
"User time" is the time spent running your application's own code.
"System time" is the time spent running OS code on behalf of your application (such as for I/O).
我们经常也提到“CPU时间”:
"CPU time" is user time plus system time. It's the total time spent using a CPU for your application.
哪个最适合CS实验?
解决方法:
当然这取决于你的算法.
如果您的算法本身不执行I / O,则用户时间是衡量其好坏程度的最准确指标.
但是,如果您的算法执行基于磁盘的排序,则包含I / O的时间更合适.
请注意,Java VM本身也运行自己的代码,最值得注意的是GC,从操作系统的角度来看,它也算作用户时间,所以如果你想要真正彻底,你可以尝试尽量减少GC的影响.记录GC运行时间并从操作系统测量的用户时间中减去它们. (另一方面,你可以争辩说,如果两个算法在相同的条件下运行,并且一个触发了比另一个更多的GC运行,那么这就是算法本身的错误.)
更新:对不起,我刚刚阅读了你链接的页面,当然如果你测量线程的用户时间,上面的内容不适用,只有当你查看整个(重量级)进程的用户时间时才会这样.
标签:java,benchmarking,cpu-time
来源: https://codeday.me/bug/20190902/1788020.html