Re: Clone effectiveness

Bill Deegan <[email protected]>
Newsgroups gmane.comp.programming.tools.scons.user
Message-ID <CAEyG4CH0XRiPboGswNZG4AKMK3TengQO+tOa47p47CfGothpFA@mail.gmail.com>
Don't forget what Donald Knuth said "*premature optimization is the root of
all evil (or at least most of it) in programming"..*

Is your startup time (null incremental build time) an issue?
If not then don't worry about creating extra clones.

Is it an issue? The run --debug=count and see how many environments you
have. If that number is LARGE then do something to reduce the number of
Clones you're making.

There's no hard and fast rule here.  Anyone saying "Clone() is bad" is more
times than not wrong.
Anyone saying "Clone() a gazillion times and don't worry about it" is more
times than not wrong as well..

I've done some benchmarking on some larger SCons build systems.
The top two null incremental (or when rebuilding a small percentage of
targets due to some small change) build time users are often:
1. Subst() calls
2. Reading and writing sconsign.

Hey.. guess what I've been working on for a while... A Subst rewrite to
hopefully address some performance issues.  Guess what's also on the list..
sconsign rework..

Hope this helps,
Bill

On Tue, Sep 18, 2018 at 3:46 PM Hua Yanghao <[email protected]> wrote:

> Fully agree.
>
> My approach is that I have a keyword parameter from the command line
> to chose which target to build and then only the pattern-matched
> builds are actually created, essentially only one env is created. I do
> it only because I want to avoid the initial startup latency ... if
> your env is not conditionally created or for a built that really have
> many clones then bad luck. Of course it would definitely be great if
> the we cannot feel the existence of scons's runtime.
> On Tue, Sep 18, 2018 at 4:31 PM Pierre-Luc Boily
> <[email protected]> wrote:
> >
> > I agree 15 seconds is not a lot compare to the whole.  But when doing
> > iterative build, 15 seconds it's a lot!  At least we have the
> --interactive
> > as a good work around (on unix).
> >
> > So, beside having longer tree creation with many Clone, could this lead
> to
> > other problems?  Is it better to avoid Clone where I can?
> >
> >
> > Mats Wichmann wrote
> > >>>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.
> >
> >
> >
> >
> >
> > --
> > Sent from: http://scons.1086193.n5.nabble.com/Users-f16930.html
> > _______________________________________________
> > Scons-users mailing list
> > [email protected]
> > https://pairlist4.pair.net/mailman/listinfo/scons-users
> _______________________________________________
> Scons-users mailing list
> [email protected]
> https://pairlist4.pair.net/mailman/listinfo/scons-users
>

_______________________________________________
Scons-users mailing list
[email protected]
https://pairlist4.pair.net/mailman/listinfo/scons-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.