Страницы

Поиск по вопросам

пятница, 21 декабря 2018 г.

Производительность JNI: правда или миф?

С учебы мне говорят то, что JNI это c++. И по скорости выполнения он превосходит Java. Но капаюсь я в нём и, как оказалось, вызов JNI это очень трудаемкая задача. И она требует до 12 проходов (шагов). Стоит ли вообще его использовать? И есть ли конкретные случаи когда он в Java так необходим?


Ответ

Прямо с сайта Oracle
Примеры, когда следует использовать JNI:
Стандартная библиотека JAVA не поддерживает платформенно-специфические возможности, требуемые конкретным приложением. У вас уже есть библиотека, написанная на другом языке, и вы хотите использовать ее в JAVA. Вы хотите реализовать некоторые участки кода, критичные к скорости исполнения, на языке более низкого уровня типа Ассемблера.
Пример: граф обработки аудио/видео с фильтрами. Фильтр имеет интерфейс JAVA-объекта, а алгоритм конкретного фильтра реализован на C/ASM и подключается с помощью JNI.

Комментариев нет:

Отправить комментарий