Build performance

Hello, I feel the build speed is pretty slow and it makes a big pain to me for building a native extension & testing so I have a questions.

  1. Is Defold building all sources including extensions every time? For example, let’s assume that I fix printf(“1”) to printf(“2”) in my extension and build it then it still takes about 5 minutes or more.

  2. If I put a framework in myExtension/lib/ios/, is Defold uploading the framework every time for build process? Or is it cached on the server side if I don’t change it?

  3. Is there any significant reason that Defold takes a way of network build? For something like patent , security and etc?

Thanks.

1 Like

HI @andyremi!

  1. No, we have a prebuilt sdk with all “heavy lifting already done”. What we do is build the extensions (C++ and Java) and then link the engine, as well as create the classes.dex. The average build time is ~40seconds per request (Android is usually a bit longer)

  2. Any files larger than 50kb are cached (for two weeks) to reduce overhead when making new builds.

  3. The reason we have a cloud build is to make it easy to use for our users. This way we do the heavy lifting of supporting many platforms, compilers, sdk’s, compiler configurations etc. Many of our users don’t really need to think about the fact that we provide them with a custom built engine, they just add a dependency to a library (or extension) and start using it.

What usually take more time is the upload of the data, if you have a slow connection.
(Our build server is located in Ireland.)

Here are some graphs for today:

7 Likes