Julia Notable Uses

It’s getting even more possible to run Julia on an actual satellite. I.e. with StaticCompiler.jl (and possibly, or not helping?):

Limitations:

In order to be standalone-compileable without linking to libjulia, you need to avoid (among probably other things):

  • GC allocations. Manual heap-allocation (malloc, calloc) and stack allocation (by convincing the Julia compiler to use alloca and put your object on the stack) are all fine though.
  • […]
  • Multithreading
  • Microsoft Windows (not supported by StaticCompiler yet), except via WSL

Not running on Windows, is maybe a feature, not a bug for satellite control. :slight_smile: And not having GC allocations is a feature for embedded/real-time/satellites. It’s already possible to avoid GC with Julia before all this, but you had huge binaries. Now the smallest are under 9 KB, and while you can use malloc instead of GC, you would also want to not do that in your control loop.

3 Likes