I sent proposal of link_deps to gn-dev. The proposal will fix the issue
next time.
https://groups.google.com/a/chromium.org/forum/#!topic/gn-dev/1DiphV5ZnqU


2018-04-20 15:39 GMT+09:00 Jakob Gruber <[email protected]>:

> On Fri, Apr 20, 2018 at 5:40 AM, Takuto Ikuta <[email protected]> wrote:
>
>> 2018-04-19 23:12 GMT+09:00 Marja Hölttä <[email protected]>:
>>
>>> Slightly tangential: Just by looking at the trace, it would already help
>>> if some builders got started with the big files (code-stub-assembler.cc and
>>> objects.cc) right at the beginning, instead of first doing some smaller
>>> tasks and only then getting started with the bigger ones. Is that doable?
>>>
>>> (That is orthogonal to the problem that when mksnapshot is running,
>>> nothing else gets done.)
>>>
>>
>> Yes. There is some effort for better scheduling on ninja side.
>> https://github.com/ninja-build/ninja/pull/1333
>>
>
> That link is about explicit build orders - would it make sense to try and
> distribute compile work evenly over builders, taking e.g. file size as a
> metric to approximate compile time?
>

I want to do some investigation for this, but ninja's owner does not
actively review PRs. But if I could sure that there is large improvement, I
will ping them.



>
>>
>>
>>
>>>
>>> On Thu, Apr 19, 2018 at 3:25 PM, Takuto Ikuta <[email protected]>
>>> wrote:
>>>
>>>>
>>>>
>>>> 2018-04-19 21:47 GMT+09:00 Daniel Bratell <[email protected]>:
>>>>
>>>>> This is something I also would like to see solved. The long phase in
>>>>> the middle can be even more pronounced in Chromium jumbo builds and from a
>>>>> high level it looks like it ought to be fixable.
>>>>>
>>>>> I would look for a solution that does not require adding another
>>>>> dependency type though. Brett Wilson has  stated many times that the 
>>>>> coarse
>>>>> dependency system in gn is intentional because there were so many subtle
>>>>> dependency bugs with gyp's more fine grained dependencies.
>>>>>
>>>>
>>>> Currently it looks there are no way to introduce dependency containing
>>>> action target that is linked but does not block compiling for
>>>> shared_library and static_library in GN.
>>>> If we don't want to introduce another dependency type, I think we can
>>>> do by using source_set for target needs to be linked with libv8.so instead
>>>> of component and move v8 dependency to final executable.
>>>> But I expect this will cause long link time.
>>>>
>>>> I don't know gyp's era and how its fine grained dependencies were not
>>>> good, but link only dependency will give us short build time.
>>>> link only dependency will also be applicable to yasm_assemble action in
>>>> addition to code generator.
>>>>
>>>>
>>>>>
>>>>> /Daniel
>>>>>
>>>>>
>>>>> On Thu, 19 Apr 2018 11:31:27 +0200, 'Takuto Ikuta' via Chromium-dev <
>>>>> [email protected]> wrote:
>>>>>
>>>>>
>>>>>
>>>>> 2018-04-19 17:56 GMT+09:00 Jakob Gruber <[email protected]>:
>>>>>
>>>>>> I commented on the doc. Unfortunately, I don't think it will be
>>>>>> possible to
>>>>>> turn mksnapshot into a data_dep due to embedded builtins (mksnapshot
>>>>>> generates embedded.cc, required to build libv8.so).
>>>>>>
>>>>>>
>>>>> Thank you for comment! Yeah, it is unfortunate that v8 generates
>>>>> embedded.cc.
>>>>> I'll reconsider the way. Introducing new dependency type like
>>>>> link_deps to GN might be necessary.
>>>>>
>>>>>
>>>>>
>>>>>> But looking at the graph above, it seems like splitting up
>>>>>> code-stub-assembler.cc may be
>>>>>> something to investigate?
>>>>>>
>>>>>>
>>>>> I think so. Some files in v8 took very long compile time. I hope those
>>>>> files are separated to utilize parallelism.
>>>>>
>>>>>
>>>>>> On Thu, Apr 19, 2018 at 10:48 AM, Andrew Grieve <[email protected]
>>>>>> > wrote:
>>>>>>
>>>>>>> v8 build times were recently brought up as an issue (
>>>>>>> https://bugs.chromium.org/p/v8/issues/detail?id=7629), so I think
>>>>>>> your timing here is great!
>>>>>>>
>>>>>>> I'm not on v8, but read through your proposal and it sounds good to
>>>>>>> me!
>>>>>>>
>>>>>>> On Thu, Apr 19, 2018 at 10:09 AM, Takuto Ikuta <[email protected]>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi chromium folks and v8 foks.
>>>>>>>>
>>>>>>>>
>>>>>>>> When I build chrome, I see serialized dependency between chrome and
>>>>>>>> V8 like below build trace.
>>>>>>>>
>>>>>>>> This serialized dependency makes build time slow and slowness by
>>>>>>>> this serialized dependency becomes relatively large in highly
>>>>>>>> parallelizable build.
>>>>>>>> I want to reduce this serialized dependency by changing BUILD.gn.
>>>>>>>>
>>>>>>>> More description of my proposal is here.
>>>>>>>> https://docs.google.com/document/d/1022AD3D5NtCTP0i7m-c_7Jfo
>>>>>>>> Hu6PkJkAyePEC2ODMD8/edit?usp=sharing
>>>>>>>> If you have something, please give me feedback.
>>>>>>>>
>>>>>>>> Thanks, Takuto
>>>>>>>> --
>>>>>>>> --
>>>>>>>> Chromium Developers mailing list: [email protected]
>>>>>>>> View archives, change email options, or unsubscribe:
>>>>>>>> http://groups.google.com/a/chromium.org/group/chromium-dev
>>>>>>>> ---
>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>> Groups "Chromium-dev" group.
>>>>>>>> To view this discussion on the web visit
>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/chromium-de
>>>>>>>> v/CALNjmMrbWafsnCbqYm%3DK9c18%2BsYzOmCqHW--rdvihZG-VVZS9g%40
>>>>>>>> mail.gmail.com
>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CALNjmMrbWafsnCbqYm%3DK9c18%2BsYzOmCqHW--rdvihZG-VVZS9g%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>>> .
>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> --
>>>>>>> v8-dev mailing list
>>>>>>> [email protected]
>>>>>>> http://groups.google.com/group/v8-dev
>>>>>>> ---
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "v8-dev" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>> send an email to [email protected].
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Takuto Ikuta
>>>>> Software Engineer in Tokyo
>>>>> Chrome Infrastructure (goma team)
>>>>> --
>>>>> --
>>>>> Chromium Developers mailing list: [email protected]
>>>>> View archives, change email options, or unsubscribe:
>>>>> http://groups.google.com/a/chromium.org/group/chromium-dev
>>>>> ---
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Chromium-dev" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/a/chromium.org/d/msgid/chromium-de
>>>>> v/CALNjmMoDA3hyO-0G_esiG%3Dn4k8FJu%3Dhfd_ucBG5hRusL1OAuxA%40
>>>>> mail.gmail.com
>>>>> <https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CALNjmMoDA3hyO-0G_esiG%3Dn4k8FJu%3Dhfd_ucBG5hRusL1OAuxA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> /* Opera Software, Linköping, Sweden: CEST (UTC+2) */
>>>>>
>>>>
>>>> --
>>>> --
>>>> v8-dev mailing list
>>>> [email protected]
>>>> http://groups.google.com/group/v8-dev
>>>> ---
>>>> You received this message because you are subscribed to the Google
>>>> Groups "v8-dev" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>
>>>
>>> --
>>>
>>>
>>> Google Germany GmbH
>>>
>>> Erika-Mann-Straße 33
>>> <https://maps.google.com/?q=Erika-Mann-Stra%C3%9Fe+33+80636+M%C3%BCnchen&entry=gmail&source=g>
>>>
>>> 80636 München
>>> <https://maps.google.com/?q=Erika-Mann-Stra%C3%9Fe+33+80636+M%C3%BCnchen&entry=gmail&source=g>
>>>
>>> Geschäftsführer: Paul Manicle, Halimah DeLaine Prado
>>>
>>> Registergericht und -nummer: Hamburg, HRB 86891
>>>
>>> Sitz der Gesellschaft: Hamburg
>>>
>>> Diese E-Mail ist vertraulich. Falls sie diese fälschlicherweise erhalten
>>> haben sollten, leiten Sie diese bitte nicht an jemand anderes weiter,
>>> löschen Sie alle Kopien und Anhänge davon und lassen Sie mich bitte wissen,
>>> dass die E-Mail an die falsche Person gesendet wurde.
>>>
>>>
>>>
>>> This e-mail is confidential. If you received this communication by
>>> mistake, please don't forward it to anyone else, please erase all copies
>>> and attachments, and please let me know that it has gone to the wrong
>>> person.
>>>
>>> --
>>> --
>>> Chromium Developers mailing list: [email protected]
>>> View archives, change email options, or unsubscribe:
>>> http://groups.google.com/a/chromium.org/group/chromium-dev
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "Chromium-dev" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To view this discussion on the web visit https://groups.google.com/a/ch
>>> romium.org/d/msgid/chromium-dev/CAED6dUC%2BkyQrZUwnAWS7AsQWf
>>> GNQAV5Zv7ggqPhbSV0zQnAnEA%40mail.gmail.com
>>> <https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAED6dUC%2BkyQrZUwnAWS7AsQWfGNQAV5Zv7ggqPhbSV0zQnAnEA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>
>>
>>
>> --
>> Takuto Ikuta
>> Software Engineer in Tokyo
>> Chrome Infrastructure (goma team)
>>
>
> Jakob Gruber
>
> Software Engineer
>
> [email protected]
>
> Google Germany GmbH
>
> Erika-Mann-Straße 33
> <https://maps.google.com/?q=Erika-Mann-Stra%C3%9Fe+33+80636+M%C3%BCnchen&entry=gmail&source=g>
>
> 80636 München
> <https://maps.google.com/?q=Erika-Mann-Stra%C3%9Fe+33+80636+M%C3%BCnchen&entry=gmail&source=g>
>
> Geschäftsführer: Paul Manicle, Halimah DeLaine Prado
>
> Registergericht und -nummer: Hamburg, HRB 86891
>
> Sitz der Gesellschaft: Hamburg
>
> Diese E-Mail ist vertraulich. Falls sie diese fälschlicherweise erhalten
> haben sollten, leiten Sie diese bitte nicht an jemand anderes weiter,
> löschen Sie alle Kopien und Anhänge davon und lassen Sie mich bitte wissen,
> dass die E-Mail an die falsche Person gesendet wurde.
>
>
> This e-mail is confidential. If you received this communication by
> mistake, please don't forward it to anyone else, please erase all copies
> and attachments, and please let me know that it has gone to the wrong
> person.
>

-- 
-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- 
You received this message because you are subscribed to the Google Groups 
"v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to