ジュリアでプログレスバーの使い方
概要
ジュリアでもプログラムの進行状況を知らせてくれるグラスバーを手軽に使うことができる。
コード
ProgressMeter.jl
「ProgressMeter.jl」パッケージの「@showprogress」マクロを「for」ループに置けばよい1。
using ProgressMeter
chi2 = []
@showprogress for n in 1:20000
push!(chi2, sum(randn(n) .^ 2))
end
下の「ProgressBars.jl」に比べるとマクロを使うのでコードがより簡潔である。
ProgressBars.jl
「ProgressBars.jl」パッケージの「ProgressBar()」関数で「for」ループの反復子iteratorを包めば良い2。
using ProgressBars
chi2 = []
for n in ProgressBar(1:20000)
push!(chi2, sum(randn(n) .^ 2))
end
実際の作業内容はどうであれ構わないが、プログラムの進行状況は次のようにきれいに出力される。 当然だが、「for」ループ文で正確に何回目の繰り返しになっているかだけ分かるので、1回の繰り返し当たりの平均遂行時間を知らせるだけで、正確な所要時間を予測することはできない。
環境
- OS: Windows
- julia: v1.7.3