[Scons-users] Clone effectiveness

Hua Yanghao huayanghao at gmail.com
Fri Sep 14 08:15:24 EDT 2018


Thanks Gary.

In this case I think I am mostly using overrides, and only one env per
software image build.

If we have overrides what are the scenarios that a Clone() of the env
is a must to have?
On Fri, Sep 14, 2018 at 2:03 PM Gary Oberbrunner <garyo at oberbrunner.com> wrote:
>
> No. It may create an override internally, if you pass some keyword args, but that's not a clone. So you can call Object() thousands of times for sure.
>
> -- Gary
>
> On Fri, Sep 14, 2018 at 7:56 AM Hua Yanghao <huayanghao at gmail.com> wrote:
>>
>> Is every call to "Object()" implicitly creates a clone of environment?
>> I seems like so just want to confirm.
>> On Thu, Sep 13, 2018 at 9:20 PM Mats Wichmann <mats at wichmann.us> wrote:
>> >
>> > On 09/13/2018 12:52 PM, Damien Hocking wrote:
>> > > We do this too.  Most dlls and sos have a cloned environment.
>> >
>> > As I said earlier, we clone lots (>90% of our sconscripts contain a
>> > Clone() call), but the actual build time dwarfs the "process the
>> > SConscripts" phase (*) so I don't worry much about it. We're not getting
>> > killed on memory; I can build easily enough in a 2gb Vagrant-provisioned
>> > (Linux) image. So while I'd like to *know* the numbers, it's mostly
>> > curiosity.
>> >
>> > Maybe we can resurrect some of the benchmarking/timing code that exists
>> > in the codebase now to get more info?
>> >
>> > * - recent build timings:
>> > Total build time: 360.533189 seconds  (using scons -j4)
>> > Total SConscript file execution time: 14.785102 seconds
>> >
>> > 15 seconds is slow, but if I sped up the sconscript time by 50%, I'd
>> > still make no more than a 2% impact on the overall time.
>> >
>> > >> On Sep 13, 2018, at 12:27 PM, Pierre-Luc Boily <pierreluc.boily at gmail.com> wrote:
>> > >>
>> > >> Hello!
>> > >>
>> > >> Just read on the forum :
>> > >>
>> > >> /Here's the caveat.
>> > >> Don't make a gazillion Clone's they're not lightweight.
>> > >> If you make 100, it won't kill you, if you make 1000's you may start seeing
>> > >> memory and speed impacted./
>> > >>
>> > >> Our project branch contains 800 sconscript files.  From those 800, 300 are
>> > >> for windows compilation, 500 are for unix compilation.
>> > >>
>> > >> We systematically create a clone of the environment at the beginning of
>> > >> *each *sconscript.  So, if I understand well, it might not be the best
>> > >> approach.  It would be better to do a Clone only when it is needed?
>> > >> Reducing the number of clone could potentially speed up the creating of the
>> > >> tree?
>> > >>
>> > >> Thx
>> > >>
>> > >>
>> > >>
>> > >> --
>> > >> Sent from: http://scons.1086193.n5.nabble.com/Users-f16930.html
>> > >> _______________________________________________
>> > >> Scons-users mailing list
>> > >> Scons-users at scons.org
>> > >> https://pairlist4.pair.net/mailman/listinfo/scons-users
>> > > _______________________________________________
>> > > Scons-users mailing list
>> > > Scons-users at scons.org
>> > > https://pairlist4.pair.net/mailman/listinfo/scons-users
>> > >
>> >
>> > _______________________________________________
>> > Scons-users mailing list
>> > Scons-users at scons.org
>> > https://pairlist4.pair.net/mailman/listinfo/scons-users
>> _______________________________________________
>> Scons-users mailing list
>> Scons-users at scons.org
>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>
>
>
> --
> Gary
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org
> https://pairlist4.pair.net/mailman/listinfo/scons-users


More information about the Scons-users mailing list