Pregunta

Mi aplicación Scala necesita realizar operaciones simples en grandes conjuntos de enteros y dobles, y el rendimiento es un cuello de botella. He luchado por poner mi dedo exactamente cuando se inician ciertas optimizaciones (por ejemplo, análisis de escape), aunque puedo observar sus resultados a través de varias evaluaciones de evaluación comparativa. Me encantaría hacer una compilación AOT de mi aplicación Scala, para que pueda ver o hacer cumplir (o implementar) ciertas optimizaciones ... o compilarlo con el código nativo, si es posible, para que pueda cortar esquinas como los límites verificando y observar si lo Hace la diferencia.

Mi pregunta: ¿Qué métodos de compilación alternativos funcionan para Scala? Estoy interesado en herramientas como LLVM, VMKIT, Soot, GCJ, etc. ¿Quién los usa con éxito con Scala en este punto, o ninguno de estos métodos es actualmente compatible o mantenido?

¿Fue útil?

Solución 2

Para responder a mi propia pregunta, no hay backend alternativo para Scala, excepto para el JVM. El backend .NET ha estado en desarrollo durante mucho tiempo, pero su estado no está claro. El backend de LLVM tampoco está listo para su uso, y no está claro cuál es su futuro.

Otros consejos

GCJ puede compilar las clases JVM al código nativo. Este blog describe las pruebas realizadas con el código Scala: http://lampblogs.epfl.ch/b2evolution/blogs/index.php/2006/10/02/scala_goes_native_almost?blog=7

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top