2012-12-07 167 views
1

如果我把这个bash脚本bash脚本运行从文件的速度比在命令行

for ((i=0; i < 111; i++)); do 
    echo $i 
done 

的文件并运行它,它的运行速度比,如果我直接在命令行中键入它更快。为什么是这样? (我正在运行Ubuntu。)

+2

定义“更快”。你只有111个项目在你的循环中,所以我确定两者都在半秒内执行...... –

+2

另外,对于更大的列表,这种循环将花费大部分时间等待终端打印输出。 – michas

+0

您是否检查过两者的执行时间?如果不是,你怎么能说一个人比另一个人快。 –

回答

1

我执行了这两个示例,并使用time检查执行时间。

运行文件:

real 0m0.038s 
user 0m0.000s 
sys  0m0.004s 

从命令行中运行:

real 0m0.002s 
user 0m0.004s 
sys  0m0.000s 

我能想到的唯一的事情会导致这种差异将是,当你执行一个脚本/文件,你也需要考虑磁盘访问以及您正在运行的任何文件系统。

+0

您的机器与我的机器相反:内联比文件更快。我认为这可能是一个普遍问题。 –