Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Much longer precompilation on Julia 0.7 #28221

Closed
YingboMa opened this issue Jul 21, 2018 · 1 comment
Closed

Much longer precompilation on Julia 0.7 #28221

YingboMa opened this issue Jul 21, 2018 · 1 comment
Labels
compiler:latency Compiler latency compiler:precompilation Precompilation of modules

Comments

@YingboMa
Copy link
Contributor

julia> @time using OrdinaryDiffEq
[ Info: Recompiling stale cache file /home/scheme/.julia/compiled/v0.7/OrdinaryDiffEq/DlSv.ji for module OrdinaryDiffEq
184.484367 seconds (7.75 M allocations: 493.164 MiB, 0.16% gc time)

julia> versioninfo()
Julia Version 0.7.0-beta2.61
Commit 1d3c9c8 (2018-07-21 02:46 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.0 (ORCJIT, skylake)
Environment:
  JULIA_PKG3_PRECOMPILE = 1

(v0.7) pkg> status
    Status `~/.julia/environments/v0.7/Project.toml`
  [c52e3926] Atom v0.7.0
  [6e4b80f9] BenchmarkTools v0.3.2
  [34da2185] Compat v1.0.0
  [3a865a2d] CuArrays v0.6.2
  [a0b5b9ef] Cxx v0.2.0+ #master (https://github.com/Keno/Cxx.jl.git)
  [bcd4f6db] DelayDiffEq v4.2.1+ [`~/.julia/dev/DelayDiffEq`]
  [2b5f629d] DiffEqBase v4.13.0+ [`~/.julia/dev/DiffEqBase`]
  [eb300fae] DiffEqBiological v3.1.0+ [`~/.julia/dev/DiffEqBiological`]
  [459566f4] DiffEqCallbacks v2.0.0
  [f3b72e0c] DiffEqDevTools v2.2.1+ [`~/.julia/dev/DiffEqDevTools`]
  [c894b116] DiffEqJump v5.0.0+ [`~/.julia/dev/DiffEqJump`]
  [78ddff82] DiffEqMonteCarlo v0.13.0+ #32b39be (https://github.com/JuliaDiffEq/DiffEqMonteCarlo.jl.git)
  [77a26b50] DiffEqNoiseProcess v2.3.0+ [`~/.julia/dev/DiffEqNoiseProcess`]
  [9fdde737] DiffEqOperators v3.2.0
  [a077e3f3] DiffEqProblemLibrary v3.6.0+ [`~/.julia/dev/DiffEqProblemLibrary`]
  [aaf54ef3] DistributedArrays v0.4.0+ [`~/.julia/dev/DistributedArrays`]
  [f6369f11] ForwardDiff v0.7.5
  [28b8d3ca] GR v0.31.0
  [e5e0dc1b] Juno v0.5.0
  [46d2c3a1] MuladdMacro v0.2.0
  [1dea7af3] OrdinaryDiffEq v4.2.0+ [`~/.julia/dev/OrdinaryDiffEq`]
  [65888b18] ParameterizedFunctions v3.7.1
  [149e707d] PkgDev v0.2.1
  [91a5bcdd] Plots v0.17.3
  [e6cf234a] RandomNumbers v0.2.0 #master (https://github.com/sunoru/RandomNumbers.jl.git)
  [731186ca] RecursiveArrayTools v0.16.3+ [`~/.julia/dev/RecursiveArrayTools`]
  [295af30f] Revise v0.5.4
  [90137ffa] StaticArrays v0.8.2
  [789caeaf] StochasticDiffEq v5.2.3+ [`~/.julia/dev/StochasticDiffEq`]
  [c3572dad] Sundials v2.1.0
julia> @time using OrdinaryDiffEq
INFO: Recompiling stale cache file /home/scheme/.julia/lib/v0.6/OrdinaryDiffEq.ji for module OrdinaryDiffEq.
 29.084996 seconds (5.12 M allocations: 280.087 MiB, 0.73% gc time)

julia> versioninfo()
Julia Version 0.6.5-pre.0
Commit 7711781* (2018-07-10 00:08 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT NO_AFFINITY HASWELL MAX_THREADS=16)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.9.1 (ORCJIT, skylake)

julia> Pkg.status("OrdinaryDiffEq")
 - OrdinaryDiffEq                3.20.0             c41ad05e (dirty)

I obtianed this timing by

  1. typing using OrdinaryDiffEq in the REPL
  2. making a minor change in OrdinaryDiffEq
  3. @time using OrdinaryDiffEq.
@ararslan ararslan added the compiler:precompilation Precompilation of modules label Jul 21, 2018
@JeffBezanson JeffBezanson added the compiler:latency Compiler latency label Jul 22, 2018
@JeffBezanson
Copy link
Member

This is spending most of its time collecting stacktraces while throwing MatchErrors. The @muladd macro seems to be incredibly inefficient.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler:latency Compiler latency compiler:precompilation Precompilation of modules
Projects
None yet
Development

No branches or pull requests

3 participants