Я разрабатываю приложение для обработки изображений на Java, но я недавно интересовался VALA. Причина в том, что я считаю, что могу увеличить производительность приложения (моя проблема связана главным образом с взаимосвязью с библиотеками C/С++, поскольку, кажется, < Пример > , что есть наказание за исполнение при использовании мостов C/С++ в Java).
Фон (что я знаю):
- VALA преобразуется в код C, а затем скомпилируется в собственный машинный код.
- AOT (Java/Mono С#) также может создавать собственные машинные коды (вместо использования виртуальных машин, но для этого требуется пакет времени выполнения).
- В некоторых случаях использование виртуальной машины может быть даже быстрее, чем собственный машинный код (поскольку его можно оптимизировать с помощью JIT-компилятора).
- Расходные библиотеки C/С++ могут быть созданы с использованием VALA.
Есть что-то, что происходит вокруг моей головы, и я не могу найти ответ:
- Можно ли создавать расходуемые библиотеки C/С++ с использованием компилятора AOT? (Я думаю, нет).
- Есть ли выпущенный двоичный файл AOT, все еще имеет проблему с производительностью моста? (Я думаю, это так).
- Вызов библиотек C/С++ в VALA имеет такую же производительность, как вызов их из C? (Я думаю, это так).
Любое понимание?