bash – unix中的time of head命令
我想知道在unix中使用time命令的开销是多少.
我知道如何使用它,但我想知道命令多长时间 $time java HelloWorld 接受终端,而不是命令 $java HelloWorld 我特别感兴趣的是这个开销如何随着正在运行的程序的持续时间而变化. 背景:: 解决方法
开销是固定的,并且基于
source code,仅仅是因为正在启动额外的过程(时间过程本身),引入了少量的额外处理(a).通常,shell会启动你的程序,但在这种情况下,shell启动时间和时间开始你的进程(使用fork).
这个额外的处理包括: >论证处理. 当正在测量的过程正在运行时,时间本身只是等待它退出(通过等待调用),因此对过程没有影响. 因此,虽然时间过程的启动时间实际上包含在测量中,但这些只对非常短的过程有意义.如果您的流程运行了相当长的时间,那么时间的开销就无关紧要了. 至于我的意思,你可以通过使用非常快的可执行文件运行它来查看效果时间,并且还可以看看对于运行时间较长的进程是否有任何明显的开销增加: pax> time sleep 0 real 0m0.001s user 0m0.000s sys 0m0.000s pax> time sleep 1 real 0m1.001s user 0m0.000s sys 0m0.000s pax> time sleep 10 real 0m10.001s user 0m0.000s sys 0m0.004s pax> time sleep 100 real 1m40.001s user 0m0.000s sys 0m0.000s 换句话说,几乎没有任何影响. 现在,因为如果它们长时间运行你很可能只是计时过程(除非你连续多次运行,否则很难关注单个过程是否需要一到两毫秒,在这种情况下会更好提高性能的方法),固定的时间开销变得越来越不重要. (a):并且,如果你正在使用内置时间的shell(例如带有时间保留字的bash),即使是那么小的开销也会消失. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |