Quantcast
Channel: Bashタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 2722

[awk]小数の切り上げ(速度比較)

$
0
0
  • 小数の切り上げ処理という頻度の高い処理をawkで行うためのメモ
  • 大体記法や速度の面において、忘れるため備忘録として記録。

結果

  • 以下の内容から、方法2の方が速い。
  • ただ可読性や速度の誤差の点から、方法1を利用する。
  • ※forを利用した方法は、awkでは順番が変わるため記録としては除外。

内容

# テストデータ作成seq 1 0.2 100000 > number

# 最初の10行表示cat number | head-n 5

1
1.2
1.4
1.6
1.8

# 方法1 int関数を用いるcat number | awk'{r=int($1); print (r==$1) ? r : r+1}' | head-n 5

1
2
2
2
2

# 方法1の速度検証# 0.00s user 0.00s system 1% cpu 0.492 totaltime cat number | awk'{r=int($1); print (r==$1) ? r : r+1}'> /dev/null

# 方法2 printfを利用するcat number | awk'{printf("%d\n",$1+=$1<0?0:0.999)}' | head-n 5

1
2
2
2
2

# 方法2の速度検証# 0.00s user 0.00s system 0% cpu 0.476 totaltime cat number | awk'{printf("%d\n",$1+=$1<0?0:0.999)}'> /dev/null

参考


Viewing all articles
Browse latest Browse all 2722

Trending Articles