LLVM export templates #9359
Closed
sammonius
started this conversation in
Engine Core
Replies: 2 comments 3 replies
-
These would most likely be enormous, can you confirm these outputs aren't massive? |
Beta Was this translation helpful? Give feedback.
0 replies
-
I'll test it to make sure, but i think it won't be too big if link-time optimization is used. |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
(Some context for anyone who hasn't heard of LLVM: it's bascially an optimizer made to be used in compilers. The compiler turns the code into LLVM assembly, which LLVM then optimizes and compiles into a binary.)
Since the default export templates are already compiled, it's impossible to optimize the engine for a specific game without compiling a custom export template. I think this could be fixed if the default export templates were in LLVM assembly instead, and then the engine was assembled in the editor along with the game. This would mean that unused features could be removed automatically (not just nodes, but also the funcionality within the nodes) and features could be optimized based on how they are used. It would also potentially allow GDScript to be optimized by compiling it to asembly.
One issue might be that it increases build times, but even with full optimization it would probably just take a few minutes.
Beta Was this translation helpful? Give feedback.
All reactions