2012-01-26 4 views
4

У меня есть парсер, написанный на Scala из-за простоты реализации. Мне нужно вызвать его из моего приложения Java. Я знаю, что мне нужно включить библиотеку scala в путь к классам и т. Д. Но как насчет производительности? Может ли быть какая-то сильная производительность, сравнивая чистые вызовы парсера Java?Вызов scala из java - исполнение?

ответ

3

В теории не должно быть никакого влияния, поскольку Scala использует тот же JVM и байт-код, что и Java, и все тесты производительности, которые я видел, дают примерно одинаковую скорость для обоих языков.

То есть, он должен быть таким же (с точки зрения производительности) вызовом библиотеки Java, или так похожим, что разница не имеет значения.

+0

Ha. Мы ответили точно так же. Я не уверен, спрашивает ли OP о вызове в Scala или об относительной производительности стандартных библиотек двух языков. –

+0

uops SO не предупредил меня! : D –

8

Вызов Scala из Java не навлечет накладных расходов: это всего лишь байт-код, когда он выполняется. Это не похоже на то, что вам приходилось путешествовать через какой-то мост между Java и Scala, как вы могли бы, если бы вы звонили с Java, я не знаю, Python.

Независимо от того, будет ли реализация этого конкретного алгоритма работать быстрее или медленнее, зависит от характера алгоритма и способа его реализации. Учитывая, что вы не собираетесь реализовывать его на двух языках, это очень сложно предсказать.

Смежные вопросы