ランダムな4桁の16進数を生成するnaiveな方法
cat /dev/urandom | tr -dc '[:xdigit:]' | head -c 4 | tr '[:upper:]' '[:lower:]'
最後のtrコマンドはおまけ.
cat /dev/urandom
は処理時間が掛かるためhead -c 1000 /dev/urandom
の方が早い.
ただし,必ずしも毎回4桁出力されるわけではない点に注意.
for i in `seq 0 1023`; do <上記コード> done
のような場合,2種類を試すと,
method | time [sec] |
---|---|
cat | 26.161 |
head | 2.769 |
となり約9.5倍程度の差がついた. なお10回の試行をタイムコマンドで計測した平均を用いている.