A brain-storm on precompiled Julia

Decades ago, I had a card in my Apple ][+ called “Snapshot” (DarkStar Systems), that allowed you to “copy” (er, pirate) software by saving a snapshot of memory to disk.

It’s the future: Let’s imagine that you have developed a double-clickable Julia application that you would like to distribute. Maybe its geospatial visualization program, complete with a nice GUI (did I mention use your imagination?). We all know that the start-up times for a Julia program, or at least the first run, can be a pain. What if, on the first run of the program, it then saves its current state to disk? The speed of subsequent launches would be the time it takes to load the image from disk.

Maybe all of the source code could be bundled into a folder, much like MacOS packages (I’ll call these folder/packages from now on), and when you double-click on it the first time, Julia’s JIT compiles the program for that machine and saves the state in the folder/package. For those who want to keep prying eyes out of their source code, instead of shipping source code files, the folderr/package contains byte code instead (or something that is not human-readable).

I barely know anything about compilers, so feel free to tear apart this idea.

1 Like

Doesn’t seem to fit exactly but this sounds somewhat like PackageCompiler.jl or juliac (last I heard is planned for v1.12).

3 Likes