Оптимизация Lua для встроенного процессора?

Я встраиваю Lua в программу для устройства no-eabi с 16-МГц 32-битным процессором ARM7TDMI и 256 КБ ОЗУ (да, это GBA). В настоящее время он работает безупречно (спасибо пользователям StackOveflow, что ответили на мои вопросы), выполняя простые задачи, но какую оптимизацию я могу сделать для достижения общей эффективности? Вот некоторые из моих мыслей:

  • В настоящее время я храню свой код Lua в виде массива константных символов (есть отдельное ПЗУ до 32 МБ, поэтому оно помогает освободить ОЗУ). Когда я хочу запустить его, я просто помещаю эту строку в стек Lua и "вызываю" ее. Но, как я знаю, Lua встраивает этот код в байт-код в оперативной памяти. Я думаю, что это может быть некоторые проблемы с большими файлами Lua тоже. Любой способ - предварительно скомпилировать этот байт-код и сохранить его в постоянном контейнере тоже?

  • Какой набор команд asm лучше для запуска Lua - THUMB или ARM?

РЕДАКТИРОВАТЬ: Может быть, замена ванильного Lua на LuaJIT? Как я знаю, LuaJIT имеет много строк кода (что делает его менее переносимым), есть ли шанс выполнить успешную сборку на старых процессорах ARM7?

0 ответов

Другие вопросы по тегам