Any tricks to accelerate (local) build times?

I was wondering if there are any tricks to accelerate build times. Unfortunately, there are a lot of undocumented flags to mos build and it’s unclear whether they are safe to use or not or what they do. Currently, I’m building using:

mos build --platform esp32 --local --no-libs-update

This is okay-ish. My main issue is that no-libs-update doesn’t always work, e.g. libmbedtls and libmongoose are "fetched’ in regular intervals. Possibly need to change ‘libs-update-interval’ to infinity, but I would have though ‘no-libs-update’ would make that superfluous…

Some other candidates are:

  • --repo possibly cache some the mongoose-os repo (as opposed to included libraries) not really sure if this needs to be done on a clean project or not, does not seem to have any effect
  • --libs-dir same thing for libraries, I guess. I’ve not been successful here, possibly, this also needs to be done on a clean project. Build just complains that libraries aren’t availble in that location. I’m not sure whether I need to manually download all my dependencies to use this.

Flashing the esp32 takes a fairly long time. I’d like to delve into the esptool call to see whether it’s possible to flash more less / more quickly / verify less …

Anyhow, have you guys got some tricks to make the build faster?

Run mos help --full for all the options.

I use e.g.

mos build --local --deps-dir $DEPS_DIR --binary-libs-dir $LIBS_DIR --platform esp32

where $DEPS_DIR and $LIBS_DIR are exported by .bashrc.

1 Like

--full is certainly useful… Thanks!