1.Можно ли создавать расходные библиотеки C / C ++ с использованием компилятора AOT?
Это не должно быть возможным, поскольку у нас нет заголовков, и не только класс C создает компилятор AOT, но только машинный код.,
(Примечание: классы Java можно вызывать внутри C / C ++ , но поскольку компиляторы AOT создают один двоичный файл, я уверен, что вы не сможете получить доступ к своим классам Java извне,файл).
Ответ: НЕТ
2.Имеет ли созданный двоичный файл AOT проблему производительности моста?
Во-первых, нам нужно знать: при вызове какого-либо класса C / C ++ из Java с использованием моста (например, JNI, javacpp и т.будет всегда приводить к потере производительности?
Согласно "W_" от ##java@irc.freenode.net:
это зависит от того, как вы его называете (например,если аргументы должны быть преобразованы и тому подобное).Простой вызов библиотечной функции без каких-либо аргументов или преобразования возвращаемого типа не должен занимать никакого другого времени, чем в любом приложении на Си.
Но поскольку я использую JavaCV в качестве моста для библиотеки OpenCV, он использует несколько типов объектов, которые, если вышеупомянутое верно, это должно влиять на производительность.
Таким образом, может быть логично, что компиляция AOT может немного ускорить выполнение, но все же придется идтичерез мост и выполните преобразование типов.
Ответ: ДА (но может быть немного быстрее)
3.Вызов библиотек C / C ++ в VALA имеет ту же производительность, что и вызов их из C?
Поскольку он конвертируется непосредственно в C, я не вижу причины, почему нет.Это было поддержано "nemequ" от #vala@irc.gimp.org:
в значительной степени, да.У vala есть привычка использовать временные переменные, но это именно то, что большинство компиляторов могут легко оптимизировать.если вы используете gcc, передайте -O2, и вы должны быть хорошими.
Ответ: ДА
Тем не менее я не знаю, почему "кто-то"проголосовал, чтобы закрыть мой вопрос, и он / она даже не удосужился прокомментировать об этом.Я думаю, что эти вопросы / ответы достаточно конструктивны (как прокомментировал pst ), и они могут быть полезны для других людей, плохо знакомых с компиляторами VALA или AOT.
Если мои выводы не верны, пожалуйста,поправь меня.