2018年8月27日月曜日

Julia は関数に入れると高速化できる

最近になってシミュレーテッド・アニーリングのプログラムを作って C と Julia で比較したところ、C は 1.2 秒ぐらいなのに Julia だと 30 秒ぐらいかかっていて、「Julia、遅いなぁ~」と思っていた。

ところが、
https://qiita.com/ceptree/items/b5cfca180e85e61c42a8
によると、「関数に入れないと Julia では速くならない」ということなので、さっそくプログラムの最初に

function test()

と入れて、最後に
end # end of test()
test()

として
@time include("test.jl")
としてみたら、ほぼ C 言語と同じ 1.2 秒台まで短くなった。

何回も繰り返して実行してみると、C言語のほうが速かったり Julia のほうが速かったり、という感じで、言語の差というよりも他プロセスの動作状況のほうが影響が大きい感じだった。




0 件のコメント:

コメントを投稿