AutoSysimages.jl - Automate user-specific system images

Thanks, but a bit cryptic the description of the packages_to_include() function.

This issue disappeared, I assume because I added the package Plots to my project file, see latest version of GitHub - ufechner7/Plotting.

But the speed gain is still not as high as expected:

asysimg> @time include("src/plot.jl")
To zoom, draw a rectangle while keeping the right mouse key pressed!
To go back to see the full graph, press <CRTRL><f>
 11.709348 seconds (28.54 M allocations: 1.523 GiB, 4.72% gc time, 78.63% compilation time: 3% of which was recompilation)

compared to

julia> @time include("src/plot.jl")
To zoom, draw a rectangle while keeping the right mouse key pressed!
To go back to see the full graph, press <CRTRL><f>
 15.501547 seconds (38.28 M allocations: 2.051 GiB, 4.30% gc time, 78.86% compilation time: 12% of which was recompilation)

Update

It seems that all the problems reported by @ufechner7 are already fixed.

Moreover, we have simplified the installation process to

using AutoSysimages
install()
3 Likes

@petvana I wonder if we could have a workflow that doesn’t require creating an external symbolic link to Julia. Maybe the package could run a new Julia process with the desired options in order to activate the autosysmage mode? Something like:

using Autosysimages

autosysimg() # launchs a new Julia process with the necessary options

@juliohm In general, it seems possible to support both alternatives. However, your alternative would load the whole package which takes some time, as reported in Startup and shutdown overhead · Issue #20 · petvana/AutoSysimages.jl · GitHub

Is it possible to still use one’s own startup file? It seems mine is not picked up

@louisponet Yes, it runs startup file, if exits. At the end, it’s just a normal julia called with two extra arguments

julia -J sysimage -L start.jl [USER-ARGS]

where start.jl script initializes the package by calling

import AutoSysimages
AutoSysimages.start()

The asysimg script only select the proper arguments for your specific project.

Edit: Actually, the startup file has been loaded twice by a mistake, so I’ve fixed that in PR #26.