# A brain-storm on precompiled Julia

**URL:** <https://discourse.julialang.org/t/a-brain-storm-on-precompiled-julia/125874>\
**Category:** General Usage\
**Created:** [February 13, 2025, 6:12pm UTC](https://discourse.julialang.org/t/a-brain-storm-on-precompiled-julia/125874 "2025-02-13T18:12:38Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![mpeters2](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mpeters2/32/202247_2.png) [@mpeters2](https://discourse.julialang.org/u/mpeters2)\
**Post date:** [February 13, 2025, 6:12pm UTC](https://discourse.julialang.org/t/a-brain-storm-on-precompiled-julia/125874/1 "2025-02-13T18:12:38Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Benny](https://avatars.discourse-cdn.com/v4/letter/b/49beb7/32.png) [@Benny](https://discourse.julialang.org/u/Benny)\
**Post date:** [February 13, 2025, 6:29pm UTC](https://discourse.julialang.org/t/a-brain-storm-on-precompiled-julia/125874/2 "2025-02-13T18:29:05Z")

</div>

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