Как используются и оптимизированы моно-аот / MkBundle? (для сокращения задержек запуска VM)
Вопрос
Я хотел бы посмотреть, смогу ли я сократить задержки VM, используя Mono's AOT (заранее компилятора). Как работает файлы .so? (Извините, это вопрос настолько элементарны; я не мог найти простой ответ на документацию моно).
Я понял, как использовать MKBundle (MkBundle2 в этом случае), но результирующие файлы оптимизированы? Документация Mono AOT упоминает «-O = все, -абраженные» флаги, но я не вижу их для Mkbundle.
Хотя это, вероятно, гораздо разный ответ, если есть хорошие способы сохранения виртуальной машины (с чем-то более естественным / платформенным нейтральным файлом, чем специальный файл FIFO), который может быть лучшим.
Заранее спасибо!
Решение
Если файлы AOT .so существуют рядом с файлами EXE / DLL, Mono будет использовать их при запуске EXE. Но вам все еще нужны файлы DLL / EXE для метаданных и вещей, которые не могут быть скомпилированы AOT.
Другие советы
Не уверены, если он точно связан с вашим вопросом, но смотрите окончательную записку здесь
О флаге --резидента к компилятору, чтобы сделать FSC.exe быстрее на моно.