You are right in that it doesn’t do dead code elimination per se.
But if my understanding is correct, java classes are loaded as needed. So other than JAR size, you don’t really need it as much as in the case of JS for example.
That's an important distinction. I guess my annoyance is mostly cosmetic. The app is pretty small and does a simple data processing task. Had I written the app in C++ it would have been a couple of megabytes (and it would have taken me 10 times longer to write..). But with Clojure/Java/JVM/jdeps it comes out as some monstrous 100MB installer. It just feels a bit gross ...
End user apps are second class citizens on the JVM (except weirdly on Android.. but they're in a weird bubble of their own)
Comments
You are right in that it doesn’t do dead code elimination per se.
But if my understanding is correct, java classes are loaded as needed. So other than JAR size, you don’t really need it as much as in the case of JS for example.
That's an important distinction. I guess my annoyance is mostly cosmetic. The app is pretty small and does a simple data processing task. Had I written the app in C++ it would have been a couple of megabytes (and it would have taken me 10 times longer to write..). But with Clojure/Java/JVM/jdeps it comes out as some monstrous 100MB installer. It just feels a bit gross ...
End user apps are second class citizens on the JVM (except weirdly on Android.. but they're in a weird bubble of their own)
Perhaps give native compilation a try? Not sure how well does it work with Clojure, but that might shrink the app size a bit as well?