Различия в производительности между компиляциями VALA и AOT?

Я разрабатываю приложение для обработки изображений на Java, но недавно меня заинтересовала VALA. Причина в том, что я верю, что могу увеличить производительность приложения (меня беспокоит, в основном, взаимосвязь с библиотеками C / C ++, поскольку кажется < Пример >, что при использовании мостов C / C ++ в Java существует ограничение производительности).

Предпосылки ( что я знаю):

  • VALA переводится в код C, а затем компилируется в собственный машинный код.
  • AOT (Java / Mono C #) также может создавать собственные машинные коды (вместо использования виртуальных машин, но по-прежнему требует пакет времени выполнения).
  • В некоторых случаях использование виртуальной машины может быть даже быстрее, чем собственный машинный код (поскольку он может быть оптимизирован с помощью JIT-компилятора).
  • Потребляемые библиотеки C / C ++ могут быть созданы с использованием VALA.

Что-то крутится у меня в голове, и я не могу найти ответ:

  1. Может ли C / C ++ расходная библиотека Может быть произведено с использованием компилятора AOT? (Думаю, нет).
  2. Есть ли у созданного двоичного файла AOT проблемы с производительностью моста? (Я думаю, это так).
  3. Вызов библиотек C / C ++ в VALA имеет такую ​​же производительность, как и их вызов из C? (Я думаю, это так).

Есть какие-нибудь сведения?

10
задан lepe 16 January 2012 в 02:38
поделиться