我最近发现了Julia编程语言,并且今天已经从源代码编译安装完成,并一直在进行测试。我有一个非常简单的脚本,其中计时两个随机矩阵相乘的时间。
julia_matmul.jl
N = 100
A = rand(N, N)
B = rand(N, N)
tic()
A*B
toc()
如果我在Julia交互会话中运行这个脚本两次,那么第二次运行比第一次运行要快得多。但是如果我从终端运行该脚本两次,则只得到最慢的结果。
以下是我的测试结果:
$ julia julia_matmul.jl
elapsed time: 0.315129296 seconds
$ julia julia_matmul.jl
elapsed time: 0.307094268 seconds
$ julia -q
julia> include("julia_matmul.jl")
elapsed time: 0.306266193 seconds
julia> include("julia_matmul.jl")
elapsed time: 0.000700495 seconds
这个开销大约是0.3秒,虽然很小,但它可能会影响短脚本的计时。所以我的问题是:这个约0.3秒的开销来自哪里,我如何摆脱它(特别是在不使用交互式会话时)?