2012-12-07 164 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

您的機器與我的機器相反:內聯比文件更快。我認爲這可能是一個普遍問題。 –