--
--
You received this message because you are subscribed to the "Android Building" mailing list.
To post to this group, send email to android-...@googlegroups.com
To unsubscribe from this group, send email to
android-buildi...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-building?hl=en
---
You received this message because you are subscribed to the Google Groups "Android Building" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-buildi...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/android-building/eebd86b2-83c0-460e-a26d-6cd5af31fb20%40googlegroups.com.
So that time was mostly spent initializing the find emulator:verbose: *kati*: init find emulator time: 1311.781312What that's doing is walking through your source tree and building up a data structure to more efficiently (normally!) run `find` commands. This can become very slow if you've added a symlink into your source tree pointing to elsewhere on your filesystem (or a network filesystem). We've also had reports that this can get very slow when you have a lot of output trees under your source tree (being discussed in https://github.com/google/kati/issues/184), but 20 minutes seems excessive for that -- it claims that there are ~3M nodes in the cache:
One of my AOSP trees (after removing out/) is closer to 1M nodes (~2s), and after a hikey960 build it has ~1.5M nodes (3.4s).
For more options, visit this group at
http://groups.google.com/group/android-building?hl=en
---
You received this message because you are subscribed to the Google Groups "Android Building" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/android-building?hl=en
---
You received this message because you are subscribed to the Google Groups "Android Building" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-buildi...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/android-building/5afd3044-8e12-4c7d-9878-d2408ff0283b%40googlegroups.com.
Interesting, 20 minutes still seems super excessive for that 😕You'll probably save some amount of time sharing a single out directory between devices, but not necessarily if you switch between them frequently, as some of the device-specific files will clobber each other (this was Soong trying to be smarter about sharing device-side code, until we came to the point that we had too many configurations options to make that reasonable 😞). And soong itself will re-run every time you switch devices (kati may not, since we cache multiples of all of its outputs)The one thing that would help you (at least until that github issue is resolved) is to move the output directory outside of your source directory: OUT_DIR=../out, etc. Then the find emulator wouldn't discover it.
Using a single output directory vs multiple output directories shouldn't change the findemulator slowdown you're seeing as long as they're still in the source directory. But the one thing a single output directory can slow down is the initial ninja startup speed -- usually we expect to see that at <=1s (depending on the machine), but that can grow if it needs to load particularly large .ninja_log and .ninja_deps files, which will be shared across all devices in a single output tree. It looks like yours is taking ~4s based on the trace. So your minimum incremental build times are probably ~2x as long as they could be.
To view this discussion on the web visit https://groups.google.com/d/msgid/android-building/5afd3044-8e12-4c7d-9878-d2408ff0283b%40googlegroups.com.