> Clojure is a pretty bad choice for numerical work in general since function parameters are usually just Object and this leads to a lot of boxing
This is quite easily solved by just declaring your parameters with type hints, and testing the code with the provided warnings about reflection and boxed math.
This still leaves container data structures, the native arrays and vectors are boxed. To address this, you can to use Java arrays or 3rd party specialized containers like data.int-map instead.