time命令统计echo/cat耗时显示0.000s是否因执行过快无法测量?
现象原因说明
你观察到的time命令输出0m0.000s的情况,并非命令执行完全不耗时间,也不是超出了time的可测量范围,核心成因有两点:
- 你测试所用的
echo是绝大多数Shell(bash/zsh/sh等)的内置命令,执行时不会触发创建子进程、加载外部二进制文件的重开销流程,所有输出逻辑直接在当前Shell进程内完成,实际执行耗时通常仅为几十到几百微秒(1毫秒=1000微秒),本身耗时极短。 - 直接在终端调用的
time是Shell内置的实现版本,默认时间统计输出精度为1毫秒(结果保留三位小数,单位为秒),只要对应统计维度(real/user/sys)的耗时小于0.0005秒,四舍五入后就会显示为0m0.000s。
你执行cat测试时能得到非零结果,是因为cat属于独立的外部可执行程序,运行时需要Shell先创建子进程,从磁盘加载cat的二进制文件,再读取目标文件内容完成输出,整套流程的总开销达到了3毫秒级别,达到了默认输出精度的可显示阈值,因此能看到明确的耗时数值。
如果需要观测更精细的命令耗时,可以调用外部独立版本的time命令,指定更高的输出精度,就能看到这类短耗时命令的实际执行时长。
内容的提问来源于stack exchange,提问作者Malekai
相关产品推荐
相关产品推荐

