compile time

Monkey Targets Forums/Desktop/compile time

sereschkin(Posted 2014) [#1]
Hello there,

just bought monkey x pro and I'm very happy. I love the Blitz-series of tools for creating games and use them for since 10 years and it just makes fun. In my real life I am a programmer in .net, c# and coding super boring windows services.

Enough of that. What I want to know: Is it just me or is it monkey x that takes 20 seconds to compile for a desktop game? If it's not monkey's fault what do I have to do to improve compile times?


sereschkin(Posted 2014) [#2]
Oops, forgot to mention, that I'm on mac os 10.10.


sereschkin(Posted 2014) [#3]
Okay, just found out, that setting a reflection filter to * is not the best idea.


bosh77(Posted 2014) [#4]
compiling in "Debug" config, compilation is faster


sereschkin(Posted 2014) [#5]
Thank you bosh77 for this hint.


sereschkin(Posted 2014) [#6]
@mark: Any chance to shorten start up phase when reflection filter is set to *? Due to the reason that I have to call methods from classes than can reside everywhere inside the project reflection filter hast to be set to "*". But it takes, at least on my mac, about 10 secs and there aren't many classes and / or modules to compile.


ImmutableOctet(SKNG)(Posted 2014) [#7]
@sereschkin: You're reflecting every module you import, which is a lot no matter what. You probably want something like this (Modified from the official documentation):
' Reflect the 'myapp.gadgets' module AND any 'myapp.gadgets' sub-modules.
#REFLECTION_FILTER="myapp.gadgets;myapp.gadgets.*" ' (Click here for the reflection module's documentation)


EDIT: You could also try another compiler. Visual Studio 2010 works for the GLFW / Desktop target. And you could always modify your local or global copies of the MinGW/GCC make-file; Monkey always uses '-O3' for some reason (Even with debug-builds). Also, keep in mind that any modifications you do to the target itself will not affect any existing build-folders; you'll have to delete that project's version of the target's folder first.


sereschkin(Posted 2014) [#8]
You are right. I have to find a way to know which modules and classes needs to be reflected at runtime. So I can narrow down reflection overhead just to these "activated" modules. Thanks everybody for answering.