Hi, Dan

在 2020年3月31日星期二 UTC+8上午1:07:08,Dan Willemsen写道:
>
> 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. 
>
> Will try with your suggestion here with the use of OUT_DIR first, to see 
if the problem still there.
 

> 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.
>
> Thanks for all the kind explanation!

Best Regards,
Yongqin Liu 

> On Mon, Mar 30, 2020 at 7:58 AM Yongqin Liu <yongq...@linaro.org 
> <javascript:>> wrote:
>
>> Hi, Dan
>>
>> Thanks for the explanation!
>>
>> 在 2020年3月29日星期日 UTC+8上午3:15:52,Dan Willemsen写道:
>>>
>>> So that time was mostly spent initializing the find emulator:
>>>
>>> verbose: *kati*: init find emulator time: 1311.781312
>>>
>>> What 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:
>>>
>>
>> Having a lot of output trees is my case.
>> I build for following products under the same AOSP tree.
>>     beagle_x15/
>>     db845c/
>>     generic/
>>     generic_arm64/ 
>>     hikey/
>>     hikey960/
>>     vsoc_arm64
>>
>> I thought that would help to save time on the host tools/java files 
>> building...
>>
>>  verbose: *kati*: 3071468 find nodes
>>
>>>
>>> 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).
>>>
>> I checked log for another build which was done after out directory  
>> removed, the time is OK, 
>>
>> Then what's your suggestion here:
>> 1. use separate aosp tree for less product, like 2 or 3, my has 7 and 
>> cts, vts in the host out directory
>> 2. I have not checked the details, and not verified it yet, do you think 
>> specifying the OUT out of the AOSP tree helps? still build multiply 
>> projects in the same out put directory.
>> 3. I do not have data yet, just want to ask you here first, do you think 
>> build multiple products with the same output directory helps to save some 
>> time?
>>      maybe my thought that it saves time on building the host binaries 
>> and java objects was wrong:(
>>
>>
>> Thanks,
>> Yongqin Liu
>>
>>
>>  
>>
>>> On Sat, Mar 28, 2020 at 8:36 AM Yongqin Liu <yongq...@linaro.org> wrote:
>>>
>>>> Hi, All
>>>>
>>>> Anyone knows what's the problem with the step of "including 
>>>> out/soong/Android-hikey960.mk ..."
>>>> and how to work around this problem?
>>>>
>>>> it took about 20 minutes to include during the build, which is almost 
>>>> half of the entire build time.
>>>>
>>>> The build was an incremental build after did repo sync. 
>>>>
>>>> here is some information from the out/verbose.log.gz
>>>>
>>>> out/soong/make_vars-hikey960.mk was modified, regenerating...
>>>> verbose: *kati*: regen check time: 0.079827
>>>> verbose: *kati*: Stack size: 8376320 bytes
>>>> [287/287] initializing build system ...
>>>> verbose: *kati*: slow included makefiles (4.618866): build/make/core/
>>>> base_rules.mk
>>>> verbose: *kati*: slow included makefiles (4.618982): build/make/core/
>>>> soong_cc_prebuilt.mk
>>>> verbose: *kati*: slow included makefiles (4.604702): build/make/core/
>>>> base_rules.mk
>>>> verbose: *kati*: slow included makefiles (4.605250): build/make/core/
>>>> soong_cc_prebuilt.mk
>>>> verbose: *kati*: slow included makefiles (43.432355): 
>>>> out/soong/Android-hikey960.mk
>>>> [288/491] including out/soong/Android-hikey960.mk ...
>>>> verbose: *kati*: 3071468 find nodes
>>>> verbose: *kati*: init find emulator time: 1311.781312
>>>> verbose: *kati*: slow included makefiles (1311.898633): art/build/
>>>> Android.cpplint.mk
>>>> verbose: *kati*: slow included makefiles (1312.676836): art/Android.mk
>>>> [289/491] including art/Android.mk ...
>>>>
>>>>
>>>> For details, please check the attached build log.
>>>>
>>>>
>>>> Thanks in advance!
>>>>
>>>>
>>>> Best Regards,
>>>> Yongqin Liu
>>>>
>>>> -- 
>>>> -- 
>>>> 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-...@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-...@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
>>>>  
>>>> <https://groups.google.com/d/msgid/android-building/eebd86b2-83c0-460e-a26d-6cd5af31fb20%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> -- 
>> -- 
>> 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 
>> <javascript:>
>> To unsubscribe from this group, send email to
>> android-...@googlegroups.com <javascript:>
>> 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 <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/android-building/5afd3044-8e12-4c7d-9878-d2408ff0283b%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/android-building/5afd3044-8e12-4c7d-9878-d2408ff0283b%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
-- 
You received this message because you are subscribed to the "Android Building" 
mailing list.
To post to this group, send email to android-building@googlegroups.com
To unsubscribe from this group, send email to
android-building+unsubscr...@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-building+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/android-building/adb51fc2-4887-4867-a05b-f5cb5c89287e%40googlegroups.com.

Reply via email to