Будет ли скрипт Lua в приложении C ++ компилировать часть Lua в машинный код?

У меня есть вопрос новичка относительно Луа.

Если я вставлю какой-нибудь скрипт Lua в свое приложение C ++. Когда я скомпилирую свое приложение C ++, будет ли часть сценария Lua скомпилирована в машинный код или приложение C ++ каждый раз запускает часть сценария Lua с интерпретатором Lua?

В интернете говорят, что использование LuaJIT значительно улучшит производительность встроенного скрипта, тогда я думаю, что скрипт Lua внутри приложения C ++ никогда не компилируется в машинный код.

Если бы я хотел снизить производительность до такой степени, то есть я бы хотел написать часть своей программы на Lua для встраивания в приложение C ++. Какой мой лучший вариант? Есть ли что-то, что я могу использовать для компиляции части Lua в часть C ++ / C, и это улучшит производительность?

1

Решение

Весь смысл JIT-компилятора состоит в том, чтобы генерировать машинный код во время выполнения из исходных файлов.

LuaJIT будет искать «горячие точки» в вашем коде, которые часто запускаются (например, внутренние циклы или часто используемые функции), и пытается скомпилировать их в машинный код. Неважно, откуда пришел код; после загрузки это совершенно не имеет значения.

1

Другие решения


По вопросам рекламы [email protected]