Компиляция AOT или компиляция нативного кода Scala? - PullRequest
4 голосов
/ 15 июня 2011

Моему scala-приложению необходимо выполнять простые операции над большими массивами целых и двойных чисел, а производительность является узким местом.Я изо всех сил пытался понять, когда наступают определенные оптимизации (например, анализ побега), хотя я могу наблюдать их результаты с помощью различных тестов.Я хотел бы сделать некоторую AOT-компиляцию моего scala-приложения, чтобы я мог видеть или применять (или реализовывать) определенные оптимизации ... или компилировать в собственный код, если это возможно, чтобы я мог обрезать углы, такие как проверка границ, и наблюдать, если этоимеет значение.

Мой вопрос: какие альтернативные методы компиляции работают для Scala?Меня интересуют такие инструменты, как llvm, vmkit, soot, gcj и т. Д. Кто на данный момент успешно использует эти инструменты в scala, или ни один из этих методов в настоящее время не поддерживается и не поддерживается?

Ответы [ 2 ]

2 голосов
/ 15 ноября 2012

Чтобы ответить на мой собственный вопрос, альтернативы для Scala нет, кроме JVM.Серверная часть .NET долгое время находилась в разработке, но ее статус неясен.Серверная часть LLVM также еще не готова к использованию, и неясно, каково ее будущее.

2 голосов
/ 16 июня 2011

GCJ может компилировать классы JVM в собственный код.В этом блоге описаны тесты, выполненные с использованием кода Scala: http://lampblogs.epfl.ch/b2evolution/blogs/index.php/2006/10/02/scala_goes_native_almost?blog=7

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...