You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
julia> @time using PythonCall
0.010378 seconds (8.97 k allocations: 565.888 KiB)
and with -O0:
julia> @time using PythonCall
0.003670 seconds (8.97 k allocations: 565.888 KiB)
Some (but not all, since 5.7 sec otherwise) of the startup-cost has been shifted to startup of Julia itself with the sysimage:
$ hyperfine '~/julia-1.9-DEV-b01fd3367b/bin/julia -J /home/pharaldsson/.julia/asysimg/1.9.0-DEV.1694/30JkAN/asysimg-2022-10-30T22-32-01.991.so -e ""'
Benchmark 1: ~/julia-1.9-DEV-b01fd3367b/bin/julia -J /home/pharaldsson/.julia/asysimg/1.9.0-DEV.1694/30JkAN/asysimg-2022-10-30T22-32-01.991.so -e ""
Time (mean ± σ): 3.116 s ± 0.031 s [User: 3.791 s, System: 1.184 s]
Range (min … max): 3.067 s … 3.151 s 10 runs
And 1.91 sec. for -O0.
I believe some work on the package could improve this, with or without a sysimage. The sysimage is 185 MB vs 209 MB for Julia's own 1.9 sysimage (sys.so, not sure why it's larger) vs a 75 MB sysimage I made for other reasons (to cut startup of Julia in half for benchmarking/scripting reasons).
AutoSysimages is really easy to use (at first I used build_sysimage() directly which likely is incorrect), just follow the docs, then for me this worked:
Julia 1.9 alone seems a bit faster than 1.8, at least julia -O0:
julia> @time using PythonCall
3.970856 seconds (2.55 M allocations: 170.295 MiB, 3.47% gc time, 81.35% compilation time: <1% of which was recompilation)
A question related to it, I got 1.9-DEV to try, and it should also work with PythonCall.jl (and does, on its own), but is this expected:
I see issue here related to libstdcxx-ng, and I believe maybe you don't need to download it, at least soon (work almost done on julia master).
Good to see Python 3.11.0 is done and getting it with your package. It's not a huge deal to trim the list above, but is e.g. tk, readline, ncurses, libgcc-ng, libsqlite really needed or basically all of it? Is pip redundant with conda/mamba, i.e. as you use it?
Have you looked at CircuitPython/MicroPython? I suppose that can't work with your package (JuliaCall), though maybe StaticCompiler.jl.
The text was updated successfully, but these errors were encountered:
I've been experimenting and believe I can reduce the startup time by 1-2 seconds quite easily. Watch this space!
The libstdcxx-ng dependency is there not because it needs to be downloaded, but because we need to ensure that any packages which require libstdc++ are compatible with the one used by Julia.
All those other packages are just what Conda installs when you ask for Python, I can't do anything about those.
Uh oh!
There was an error while loading. Please reload this page.
I'm trying everything to get startup down, and now:
https://github.com/petvana/AutoSysimages.jl
It works for me. First the good news:
Some (but not all, since 5.7 sec otherwise) of the startup-cost has been shifted to startup of Julia itself with the sysimage:
I believe some work on the package could improve this, with or without a sysimage. The sysimage is 185 MB vs 209 MB for Julia's own 1.9 sysimage (sys.so, not sure why it's larger) vs a 75 MB sysimage I made for other reasons (to cut startup of Julia in half for benchmarking/scripting reasons).
AutoSysimages is really easy to use (at first I used build_sysimage() directly which likely is incorrect), just follow the docs, then for me this worked:
Julia 1.9 alone seems a bit faster than 1.8, at least
julia -O0
:A question related to it, I got 1.9-DEV to try, and it should also work with PythonCall.jl (and does, on its own), but is this expected:
I see issue here related to libstdcxx-ng, and I believe maybe you don't need to download it, at least soon (work almost done on julia master).
Good to see Python 3.11.0 is done and getting it with your package. It's not a huge deal to trim the list above, but is e.g. tk, readline, ncurses, libgcc-ng, libsqlite really needed or basically all of it? Is pip redundant with conda/mamba, i.e. as you use it?
Have you looked at CircuitPython/MicroPython? I suppose that can't work with your package (JuliaCall), though maybe StaticCompiler.jl.
The text was updated successfully, but these errors were encountered: