DuiNaru's Blog

DuiNaru

ITについての色々な経験を載せます。

コマンド実行時間を測定する方法

コマンド実行時間を測定する方法について、いくつか書きたいと思います。

1 分で読めます

bash image

time

Linuxのコマンドに一つです。

time

time a simple command or give resource usage

コマンドを実行させ、userとsysの領域での所要時間、合計所要時間を測定できます。

$ time sleep 1

real    0m1.002s
user    0m0.001s
sys     0m0.000s

$ time echo 'Hello World!'
Hello World!

real    0m0.000s
user    0m0.000s
sys     0m0.000s

簡単にプログラムの実行時間を調べる際に、便利です。

単純ということが限界ではありますが。

bench

もうちょっと調べてみましょう。

Gabriel439/bench

This project provides the bench command-line tool, which is a more powerful alternative to the time command. Use bench to benchmark a command using Haskell’s criterion library.

コマンドを数回実行できて、結果も詳しくなります。

$ bench 'sleep 1'  # Don't forget to quote the command line
benchmarking sleep 1
time                 1.003 s    (1.002 s .. 1.003 s)
                     1.000 R²   (1.000 R² .. 1.000 R²)
mean                 1.003 s    (1.003 s .. 1.003 s)
std dev              92.92 μs   (0.0 s .. 101.8 μs)
variance introduced by outliers: 19% (moderately inflated)

$ bench true
benchmarking true
time                 410.3 μs   (382.3 μs .. 443.3 μs)
                     0.974 R²   (0.961 R² .. 0.987 R²)
mean                 420.7 μs   (406.8 μs .. 435.7 μs)
std dev              47.69 μs   (40.09 μs .. 57.91 μs)
variance introduced by outliers: 81% (severely inflated)

ファイルでの出力も可能です。

HTML出力の例HTML output

hyperfine

別の方法もあります。

sharkdp/hyperfine

A command-line benchmarking tool. demo

コマンドの数回実行、詳しい情報に加え、見やすい結果も得られます。

comments powered by Disqus

最近の投稿

カテゴリー