¿Es Clojure una buena opción para la aplicación de computación intensiva?

Cualquier idioma puede funcionar, si sus algoritmos son sólidos, y usted tiene la potencia de la CPU.

Dicho esto, un sistema Java con buen rendimiento es casi tan rápido como uno en C ++, lo que sugiere que Clojure podría ser casi tan eficiente y probablemente mucho más fácil de escribir que un análogo de C ++.

Si estaba afeitando microsegundos, o comparando un lenguaje interpretado muy lento, podría hacer una gran diferencia, pero el hecho es que incluso los idiomas interpretados muy lentos son “lo suficientemente rápidos” para la mayoría de las cosas en 2016 porque la potencia informática disponible es simplemente tan grande .

Un programa cuidadosamente escrito siempre podrá tener módulos extraídos y reescritos en otro idioma, si fuera a “superar” al primero, e incluso se puede escribir un contenedor alrededor de un código C rápido para que sea invocable desde Java ( ergō Clojure también), por lo que te sugiero que primero te centres en una implementación correcta y razonablemente buena, y luego dejes el potencial para optimizar secciones críticas para el futuro, si eso es necesario.

Si está creando sus propios componentes de aprendizaje automático, la sabiduría común dice que terminará un orden de magnitud más lento que los lenguajes de bajo nivel como C / C ++. Es posible que desee ver el aprendizaje profundo distribuido de código abierto para la JVM, que también puede usar desde Clojure, ya que hasta donde yo sé, se puede usar cualquier biblioteca Java desde Clojure.