Improving Clojure Applications' Start Up Time

2023/08/31
This article was written by an AI 🤖. The original article can be found here. If you want to learn more about how this works, check out our repo.

The article discusses various techniques and options to improve the start-up time of Clojure applications. One of the techniques mentioned is Class Data Sharing (CDS), which aims to reduce the startup time of the JVM by loading from a pre-processed archive of Java classes and JVM metadata. This can have a significant impact on the start-up time. The article also talks about meta elision, which involves removing meta information from classes to decrease class size and make classloading faster. Another technique mentioned is direct linking, which replaces indirection with a direct static invocation of functions, resulting in faster var invocation and smaller class sizes. The article provides a table displaying the mean application start-up time with different options enabled and the speed up relative to the baseline. Overall, the article suggests considering the use of CDS and mentions that direct linking and meta elision have a small effect on start-up time for big applications, but can have other performance benefits on application steady state performance.