# Runic.jl: A code formatter with rules set in stone

**URL:** <https://discourse.julialang.org/t/runic-jl-a-code-formatter-with-rules-set-in-stone/117898>\
**Category:** Package Announcements\
**Created:** [August 6, 2024, 3:15pm UTC](https://discourse.julialang.org/t/runic-jl-a-code-formatter-with-rules-set-in-stone/117898 "2024-08-06T15:15:46Z")\
**Posts on this page:** 1\
**Showing post:** 39

<div class="post-metadata">

**Author:** ![fredrikekre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fredrikekre/32/1688_2.png) [@fredrikekre](https://discourse.julialang.org/u/fredrikekre)\
**Post date:** [September 5, 2024, 12:18pm UTC](https://discourse.julialang.org/t/runic-jl-a-code-formatter-with-rules-set-in-stone/117898/39 "2024-09-05T12:18:39Z")

</div>

Runic can now be (statically) compiled with the `juliac` compiler driver from [JuliaLang/julia#55047](https://github.com/JuliaLang/julia/pull/55047) 🎉 :

1. Compile the branch from [JuliaLang/julia#55047](https://github.com/JuliaLang/julia/pull/55047) alternatively get the preview build with `juliaup add pr55047` and `juliaup default pr55047`
2. Clone the Runic repository
3. Run `make` in the `juliac` subdirectory which compiles the `runicc` binary

```julia
$ ls -lah runicc
-rwxrwxr-x 1 fredrik fredrik 2,9M sep 5 14:17 runicc

```

Compiled execution:

```shell
$ time ./runicc <../src/Runic.jl >/dev/null

real 0m0,078s
user 0m0,074s
sys 0m0,016s

```

Regular (precompiled) execution (e.g. `julia -e 'using Runic; Runic.main()'`):

```shell
$ time runic <../src/Runic.jl >/dev/null

real 0m0,328s
user 0m0,314s
sys 0m0,084s

```

Runic is surprisingly fast even without compiling, but if you use e.g. “format on save” or similar you can sometimes notice a tiny lag for larger files. With the compiled binary you don’t notice it at all.

---

_[View the full topic](https://discourse.julialang.org/t/runic-jl-a-code-formatter-with-rules-set-in-stone/117898)._
