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.) 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_ >>>>> 7JfoHu6PkJkAyePEC2ODMD8/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% >>>>> 40mail.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/ch >> romium.org/d/msgid/chromium-dev/CALNjmMoDA3hyO-0G_esiG%3Dn4k >> 8FJu%3Dhfd_ucBG5hRusL1OAuxA%40mail.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 80636 München 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.
