Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

【自習メモ】プログレスバー的な文字増減をする場合、先に全部生成してsedで弄ったほうが早い……こともある

timeコマンドはスクリプトの実行時間を計測する子です。
以前記事化した事もありましたね。

さて、前回の記事でやったプログレスバーの部分について
ちょっと前に読んだ本に「sedは十分高速だから極力sedでやれ」とか書いてあったような事を思い出し……
試しに計測してみました。

実際のところ

結論から書くと、やはり先に生成、sedで抽出……の方が早いみたいです

先に生成+都度都度sed

$ time __base=`yes "#"  | head -12 | tr -d "\r\n"`

real	0m0.015s
user	0m0.009s
sys	0m0.006s

$ time echo $__base | sed -e "s/\(#\{8\}\).*/\1/"
########

real	0m0.015s
user	0m0.002s
sys	0m0.003s

毎回生成版

$ time yes "#" | head -8  | tr -d "\r\n"
########
real	0m0.007s
user	0m0.007s
sys	0m0.006s