Nice to see bindings for Godot.

NimForUE had similar issues now it (re)compiles for a new project (~250k LoC) 
in about 3 seconds on a M1 Max and < 100ms when using NimScript (experimental) 
:P

First thing I would do is to measure Nim's compilation times (use 
`--compileOnly`):

For the generated code, the intimidate remediation is to use PCH in all your 
headers (this made NUE to go from 2M+ to 15s)

For the bindings itself stop using macros, what you should do is to `repr` 
those macros and use the resulting Nim instead. NUE has a separate process for 
this which is triggered also when the user adds new C++ code or installs a 
third party plugin.

Finally, if times arent good yet, `exportc` the bindings from above and import 
them back as a library so you skip the proc body sem

BTW I would use the C++ backend for doing the bindings and emulate/bind godot 
cpp.

Reply via email to