Skip to content

16x slowdown for CondaPkg v0.2.23 on 1.11.0-rc3, and therefore JuliaCall much slower to start #145

@PallHaraldsson

Description

@PallHaraldsson

$ julia +1.11

julia> @time using CondaPkg
  3.171187 seconds (1.41 M allocations: 81.186 MiB, 5.03% gc time, 67.35% compilation time)

I'm assuming all dependencies are the same, well except Julia. I think config files are the same (though didn't check) or small, since I just installed on 1.11.

It's in part because of Pkg (it's now 251x slower in 1.11, since it was intentionally dropped from the sysimage, so any way do avoid using it? Use lazily?), and Parsers, and can be mitigated with:

$ julia +1.11 -O1

julia> @time using CondaPkg
  1.904249 seconds (1.41 M allocations: 81.188 MiB, 8.60% gc time, 51.51% compilation time)

$ julia +1.11 --compile=min

julia> @time using CondaPkg
  1.210366 seconds (640.18 k allocations: 37.992 MiB, 8.73% gc time, 3.46% compilation time)

I could make a PR to enable either, since this package is hardly-speed critical, except for its startup?

julia> @time_imports using CondaPkg
      0.7 ms  Printf
     33.5 ms  Dates
      0.3 ms  UUIDs
      0.5 ms  TOML
    124.1 ms  Preferences
      0.4 ms  PrecompileTools
               ┌ 0.1 ms Parsers.__init__() 
    195.1 ms  Parsers 80.05% compilation time
      0.7 ms  Mmap
      7.0 ms  StructTypes
     52.0 ms  JSON3
      0.4 ms  Pidfile
      1.3 ms  Base64
               ┌ 0.0 ms NetworkOptions.__init__() 
      3.2 ms  NetworkOptions
               ┌ 3.5 ms MbedTLS_jll.__init__() 
      7.0 ms  MbedTLS_jll
               ┌ 0.4 ms LibSSH2_jll.__init__() 
      4.7 ms  LibSSH2_jll
               ┌ 0.7 ms LibGit2_jll.__init__() 
      3.9 ms  LibGit2_jll
     12.4 ms  LibGit2
     16.7 ms  ArgTools
               ┌ 0.2 ms nghttp2_jll.__init__() 
      3.7 ms  nghttp2_jll
               ┌ 0.3 ms LibCURL_jll.__init__() 
      3.7 ms  LibCURL_jll
               ┌ 0.0 ms MozillaCACerts_jll.__init__() 
      3.8 ms  MozillaCACerts_jll
               ┌ 0.0 ms LibCURL.__init__() 
      1.6 ms  LibCURL
               ┌ 0.2 ms Downloads.Curl.__init__() 
     33.1 ms  Downloads
      1.3 ms  Tar
               ┌ 0.1 ms p7zip_jll.__init__() 
      6.0 ms  p7zip_jll
      0.3 ms  Logging
      5.5 ms  Markdown
               ┌ 0.0 ms Pkg.__init__() 
    444.5 ms  Pkg
      0.4 ms  Scratch
      0.2 ms  LazyArtifacts
      0.4 ms  JLLWrappers
               ┌ 5.7 ms micromamba_jll.__init__() 95.49% compilation time
      6.1 ms  micromamba_jll 88.94% compilation time
      0.4 ms  MicroMamba
               ┌ 2199.7 ms CondaPkg.PkgREPL.__init__() 99.92% compilation time
   2204.0 ms  CondaPkg 99.73% compilation time

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions