Hi Cris,

On Wed, Jan 04, 2017 at 09:32:37AM -0500, Cris Frusina wrote:
> I'm building my code on top of the bleprph app. I haven't done too
> much to it as I'm still just playing around with myNewt. I've added
> the nffs dependency and some custom code, most of it is still the
> same.
> 
> It depends on the changes I make to the code, if I only change the
> main.c file the compile, build and sign would be about 2 to 3 min for
> any small change. This can go up to 5-7 min if the change requires to
> recompile some other dependencies. A full compile and build is about
> 20 to 30 min.

Whoa, that's insane!  A build definitely should not take that long.  The
docker solution on non-Linux machines will be slower than native, but
not that much slower!  It has been a while since I have used docker, so
I don't recall the exact build times, but I wouldn't expect a full
rebuild of bleprph to take longer than five minutes.  If you're only
changing one file, the build time definitely should not exceed 10
seconds.

There are two planned speed improvements for newt.  I don't think these
will fix the problem you're experiencing, but I wanted to mention them:

1. Multithreaded builds.  This is analogous to make's "-j" option.  This
is an obvious improvement that should greatly reduce build times,
particularly for full rebuilds.

2. Smarter YAML parsing.  Newt has to do a lot of inefficient YAML file
processing to determine which files need to be rebuilt and how to build
them.  This is especially noticeable in builds with a lot of syscfg
settings (particularly bluetooth).  I can think of a change that should
give a pretty good speed improvement to this process.  This should help
most in cases where only one or a few files need to be rebuilt.

Chris

Reply via email to