Performance wise I've never encountered a problem:
- protocols have the same performance as interfaces but with significantly more power (solving the expression problem by default prevents so many headaches when you have to add more functionality later)
- loops and other binding constructs can have type hints to allow java-speed numerical operations
- immutability by default does have a cost in memory and cpu, but the ease and safety of concurrency it has enabled in my codebases more than makes up for it, e.g. "oh i've got a large (>100000 elements) of data being processed here in various ways (map, filter etc), lets parallelise that and give it a thread pool"
I feel that if I were truly performance constrained in clojure its likely I would have performance troubles in java, the difference is just not big enough.
BUT if such a situation came up, theres nothing to stop me coding up my super duper ultra performance needed code in java and just calling it from my clojure codebase. Interop is very nice.
YMMV but its never been an issue in my day to day work (mainly involves analytics, visualisation, web services)