Statically-Compiled Julia for Library Development
summary
Demonstration shows Julia producing small statically compiled C‑ABI libraries using a new trim option and a contrib compile script that finishes in about 30 seconds and emits a C callable lib (example sign) that loads from Python via ctypes. Output shrinks from ~1.7 MB (strip -> ~900 KB) and links to libjulia (a few MB). Tradeoffs include disallowed runtime code generation, reflection and dynamic globals; static checks and allocation analyzers flag unresolved dynamic calls.
AI-written summary · about
chapters (22)
- 0:00Introduction
- 0:43Julia for library dev and C++
- 5:41Trimming for smaller binaries
- 6:24Demo: Julia math library
- 10:02Static compilation trade-offs
- 11:46C++ feature mapping in Julia
- 13:52Static analysis in Julia
- 16:16Summary and future
- 16:38Q&A: two-language problem
- 18:02Q&A: Julia vs C++/Rust
- 19:06Q&A: interoperability
- 20:12Q&A: trimming now
- 21:16Q&A: Julia vs SciPy/MEX/MATLAB
- 21:57Q&A: design goals
- 23:20Q&A: distribution
- 24:02Q&A: standard library
- 24:43Q&A: precompilation
- 25:45Q&A: system image vs static
- 26:49Q&A: runtime latency
- 27:11Q&A: next priorities
- 28:14Q&A: separate compilation
- 29:17Q&A: web deployment
related talks
40mScala Goes Native
43mRust Unlinked: Rustc, Symbols, and Static Libraries
42mScala goes Native
26mSlinc: A Library for Scala to C Interoperability
01h 00mPlenary: The Beauty and Power of "Primitive" C++
01h 00mJust-in-Time Compilation
30mIntroducing the Crystal Programming Language
39mDemystifying LLVM: Writing Your First Compiler - The Good, The Bad, The Ugly
