Domanda

La mia applicazione Scala deve eseguire semplici operazioni su grandi matrici di numeri interi e doppi e le prestazioni sono un collo di bottiglia. Ho faticato a mettere il dito esattamente quando alcune ottimizzazioni entrano (ad esempio analisi di fuga) anche se posso osservare i loro risultati attraverso vari benchmarking. Mi piacerebbe fare qualche compilazione AOT della mia applicazione Scala, quindi posso vedere o applicare (o implementare) alcune ottimizzazioni ... o compilare al codice nativo, se possibile, così posso tagliare gli angoli come i limiti controllati e osservare se lo è fa la differenza.

La mia domanda: quali metodi di compilation alternativi funzionano per Scala? Sono interessato a strumenti come LLVM, VMKit, fuliggine, GCJ, ecc. Chi ne usa con successo con Scala a questo punto o nessuno di questi metodi è attualmente compatibile o mantenuto?

È stato utile?

Soluzione 2

Per rispondere alla mia domanda, non esiste un backend alternativo per Scala, tranne per la JVM. Il backend .NET è in fase di sviluppo da molto tempo, ma il suo stato non è chiaro. Anche il backend di LLVM non è ancora pronto per l'uso e non è chiaro quale sia il suo futuro.

Altri suggerimenti

GCJ può compilare le classi JVM al codice nativo. Questo blog descrive i test eseguiti con il codice Scala: http://lampblogs.epfl.ch/b2evolution/blogs/index.php/2006/10/02/scala_goes_native_almost?blog=7

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top