- 428
- 41
- 108
Доброго времени суток, меня уже достаточно давно терзает вопрос о пересборке Java-версии майна в самодостаточный бинарник с помощью GraalVM Native Image.
1) Это вообще реально? (за адекватные временные рамки естественно) Насколько я знаю, грааль плохо дружит с рефлексией, а сколько ее в ванили (и где она там используется) - пока без понятия. (Ладно, ручками переписать несколько событий, и напрямую вставить свою логику в нужное место, но не все же переписывать) Единственную рефлексию, где и находил - так это Forge/Spoonge/Fabric (+события, и загрузка модов) и эти ,,миксины,, (Буду отталкиваться от кода 1.12.2 который дольше всего исследовал в поисках ответов на свои вопросы)
2) ,,Стоит ли шкура выделки ?,, (С точки зрения фпс и потребления памяти. Насколько я видел, в майне достаточно классов, которые выполняют свою работу, а после чего могут быть собраны сборщиком мусора, а сборки native image лешены этой возможности, однако полное приложение занимает значительно меньше оперативы)
Хотел бы взвесить все ,,За,, и ,,Против,, перед тем, как начинать, однако что-то мне подсказывает что это не самая простая задача, но и точно (или хотя бы приблизительно) оценить время пока не могу. Не хотелось бы браться за проект, который изначально обречен на провал
1) Это вообще реально? (за адекватные временные рамки естественно) Насколько я знаю, грааль плохо дружит с рефлексией, а сколько ее в ванили (и где она там используется) - пока без понятия. (Ладно, ручками переписать несколько событий, и напрямую вставить свою логику в нужное место, но не все же переписывать) Единственную рефлексию, где и находил - так это Forge/Spoonge/Fabric (+события, и загрузка модов) и эти ,,миксины,, (Буду отталкиваться от кода 1.12.2 который дольше всего исследовал в поисках ответов на свои вопросы)
2) ,,Стоит ли шкура выделки ?,, (С точки зрения фпс и потребления памяти. Насколько я видел, в майне достаточно классов, которые выполняют свою работу, а после чего могут быть собраны сборщиком мусора, а сборки native image лешены этой возможности, однако полное приложение занимает значительно меньше оперативы)
Хотел бы взвесить все ,,За,, и ,,Против,, перед тем, как начинать, однако что-то мне подсказывает что это не самая простая задача, но и точно (или хотя бы приблизительно) оценить время пока не могу. Не хотелось бы браться за проект, который изначально обречен на провал