For the rolling restart in production, doing AOT compilation as part of your application JAR-building process will speed that up (building the JARs will be substantially slower -- you have to pay the compilation time "penalty" somewhere).
We used to build our app uberjars as source but we also suffered from slow startup time in production, so we switched to AOT compilation during uberjar building and that lowered our production startup times from a minute or so on the worst apps to just a few seconds.
As for CI, in order to run the tests, they have to be loaded and compiled so you're not really going to be able to avoid that time somewhere. Your only real option there would be to move to incremental testing and only run tests for code that has changed or depends on code that has changed. For us, that's one of the future promises of switching to Polylith since its built-in test runner figures that out based on a git tag -- but that benefit only comes once you have "everything" in Polylith.
Alex mentioned the docs about speeding up dev loading and I use that at work by having a local classes
folder on my classpath and periodically kicking off a manual compile
step for each of the main "apps" in our repo. That means that any code that has not changed since the last compilation will just use the existing .class
files and not have to go through the Clojure compilation process at load time -- but any code that has changed will still need to be compiled as it is loaded.
It makes a big difference to initial load times when working in the REPL but over time it "drifts" as more and more code gets changed. However, at work, we tend to have fairly long-lived REPLs and eval all code as we modify it so the slow-first-load issue isn't as annoying and I don't bother with the classes
thing all the time. And when I say "long-lived REPLs" I mean weeks and sometimes even months. My primary work REPL has been running for ten days at this point and the only reason it's that "short" is that I had a power outage and had to restart my development machine.