CrAC with Clojure

Ethan McCue ethan at mccue.dev
Mon Jul 25 18:45:17 UTC 2022


Hey all,

I'm looking into how CrAC could be used to improve startup time for the
specific case of Clojure programs.

Clojure in particular has a longstanding issue with startup time related to
the initialization of its runtime environment. This is a big issue with
runtime environments like AWS lambda.

The solutions in the community are to compile ahead of time with graalvm or
to use an alternative clojure implementation like babashka or nbb. Both of
those have some asterisks attached, so it would be nice if a potential flow
could be

1. Spin up a JVM in CI
2. Load Clojure code and do the expensive stuff like var initialization
3. Dump the state of that JVM with CrAC
4. Package up that state dump into something like a Dockerfile

I'm able and willing to help with the clojure side of things, but I don't
feel like I have a good enough understanding of the CrAC prototype to pull
off the rest so I'm reaching out here in case there are any interested
folks who know how to do.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/crac-dev/attachments/20220725/2731472e/attachment.htm>


More information about the crac-dev mailing list