如何量測程式輸出的速率
作者:gugod 發佈於: #howto如果想要量測程式輸出至 STDOUT 的速率,可用 pv
這程式。再配合 time
來同時量測其總處理時間。
以處理這個檔案大小約 73632KB 的 dict-revised.json 為例。
# ls -sk dict-revised.json
73632 dict-revised.json
先量測 cat
及 pv
本身的處理速度及速率:
# time (cat dict-revised.json | pv -a > /dev/null)
[2.39GiB/s]
( cat dict-revised.json | pv -a > /dev/null; ) 0.01s user 0.05s system 169% cpu 0.036 total
可看到總處理時間為 0.036 秒。而 2.39GiB/s 這速率為平均速率。
接著量測 json_reformat -m
這個將 json text 中空白全去除掉的處理速度及速率:
# time (cat dict-revised.json | json_reformat -m | pv -a > /dev/null)
[95.9MiB/s]
( cat dict-revised.json | json_reformat -m | pv -a > /dev/null; ) 0.58s user 0.09s system 113% cpu 0.595 total
可看到平均速率為 95.9MiB/s。總執行時間為 0.595 秒。
再取個處理速度較慢的 json-print2
來比:
# time (cat dict-revised.json | json-print2 -m | pv -a > /dev/null)
[2.46MiB/s]
( cat dict-revised.json | json-print2 -m | pv -a > /dev/null; ) 22.68s user 0.31s system 100% cpu 22.975 total
可看到平均速度為 2.46MiB/s。總執行時間為 22.975 秒。