我正在使用Linux 5.4.0下的Julia 1.5.2,并等待约15分钟来执行Pkg.add("DifferentialEquations")
。然后我在Jupyter Notebook中启动了Kernel并运行了以下代码,它花费了1分钟才执行(第一次尝试时需要225秒)。
t = time()
using Printf
using BenchmarkTools
using OrdinaryDiffEq
using Plots
tt = time() - t
@sprintf("It took %f seconds to import Printf, BenchmarkTools, OrdinaryDiffEq and Plots.", tt)
# It took 58.545894 seconds to import Printf, BenchmarkTools, OrdinaryDiffEq and Plots.
最后,我按照上述方法对每个软件包进行了相同的操作。以下是总结:
Printf: 0.004755973815917969
BenchmarkTools: 0.06729602813720703
Plots: 19.99405598640442
OrdinaryDiffEq: 19.001102209091187
我知道从这里得知
Pkg
过去很慢,但我认为15分钟根本不是正常的安装时间。然而,这不是我的大问题。我知道每次启动内核或加载一些包时Julia需要编译所有内容。但显然这不是编译时间,而是编译永恒。
有人能想出为什么这么慢吗?如果这是正常的,是否最好像Python中的
numpy
和其他类似库一样为Pkg
提供预编译的软件包?或者至少在第一个using
中永远编译?谢谢!
我的完整平台信息:
Julia Version 1.5.2
Commit 539f3ce943 (2020-09-23 23:17 UTC)
Platform Info:
OS: Linux (x86_64-pc-linux-gnu)
CPU: Intel(R) Core(TM) i3-6100U CPU @ 2.30GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-9.0.1 (ORCJIT, skylake)