Tools to enable StaticCompiler.jl-based static compilation of Julia code (or more accurately, a subset of Julia which we might call "unsafe Julia") to standalone native binaries by avoiding GC allocations and llvmcall-ing all the things. This package currently requires Julia 1.8 or greater for best results (if in doubt, check which versions are passing CI). Integration tests against StaticCompiler.jl and LoopVectorization.jl are currently run with Julia 1.8 and 1.9 on x86-64 Linux and mac; other platforms and versions may or may not work but will depend on StaticCompiler.jl support. While we'll do our best to keep things working, this package should still be considered experimental at present and necessarily involves a lot of juggling of pointers and such (i.e., "unsafe Julia"). If there are errors in any of the llvmcalls (which we have to use instead of simpler ccalls for things to statically compile smoothly), there could be serious bugs or even undefined behavior.

Features

  • GC allocations
  • Non-constant global variable
  • Type instability
  • Multithreading
  • Functions that don't want to inline
  • Examples available

Project Samples

Project Activity

See All Activity >

License

MIT License

Follow StaticTools.jl

StaticTools.jl Web Site

Other Useful Business Software
Get Avast Free Antivirus with 24/7 AI-powered online scam detection Icon
Get Avast Free Antivirus with 24/7 AI-powered online scam detection

Get protection for today’s online threats. Free.

Award-winning antivirus protection, as well as protection against online scams, dangerous Wi-Fi connections, hacked accounts, and ransomware. It includes Avast Assistant, your built-in AI partner, which gives you help with suspicious online messages, offers, and more.
Free Download
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of StaticTools.jl!

Additional Project Details

Operating Systems

Linux

Programming Language

Julia

Related Categories

Julia Data Visualization Software

Registered

2023-11-27