Charms
May 15, 2025 ยท View on GitHub
Charms
Charms is an Elixir compiler that compiles a subset of Elixir to optimized native code using MLIR. It enables writing performance-critical Elixir code that gets compiled to efficient native binaries while maintaining Elixir's syntax and development workflow.
Features
-
defmto define native functions, some examples -
Multi-threaded compilation, built upon Elixir processes and MLIR's multi-threaded capabilities
-
SIMD support
-
SIMT support
Installation
If available in Hex, the package can be installed
by adding charms to your list of dependencies in mix.exs:
def deps do
[
{:charms, "~> 0.1.0"}
]
end
Development
To run the benchmarks:
mix run bench/sort_benchmark.exs
mix run bench/list_add_benchmark.exs