From: Richard Purdie <rpurdie@linux.intel.com>
To: "Xu, Dongxiao" <dongxiao.xu@intel.com>
Cc: "poky@yoctoproject.org" <poky@yoctoproject.org>
Subject: Re: About the operator "??="
Date: Wed, 08 Dec 2010 10:30:22 +0000 [thread overview]
Message-ID: <1291804222.1554.256.camel@rex> (raw)
In-Reply-To: <D5AB6E638E5A3E4B8F4406B113A5A19A303B2EF0@shsmsx501.ccr.corp.intel.com>
Hi Dongxiao,
On Wed, 2010-12-01 at 09:57 +0800, Xu, Dongxiao wrote:
> Recently when investigating the file parsing speed, I found the
> implementation of "??=" is another hot spot. This operator will not
> apply the default assignment until the end of the parse, which is
> different from "?=". According to current poky, the users for "??=" is
> mostly the scm revisions stored in poky-default-revisions.inc.
>
> Currently the final assignment logic for "??=" is added in finalize(),
> which costs about 20% parsing time.
Can I take a look at the graph showing that? I'm a little surprised it
takes 20% of the time, that is a rather scary amount!
> The differences between "??=" and "?=" are straight forward, however I
> don't fully understand in which senario the "??=" should be used. Or
> in other word, why those scm revisions should use "??=". Could you
> help to clarify a bit? Thanks so much!
You would use ??= when you are assigning a value but you want any other
definition anywhere to be able to override it regardless of
include/inherit ordering constraints.
We created the operator to solve some problems we had with the SRCREV
variables and its use hasn't grown into other areas but there is no
reason it shouldn't be used in other places, it probably just didn't
exist when other code was written.
> BTW, I noticed that openembedded doesn't use this operator.
Their loss ;-)
Cheers,
Richard
next prev parent reply other threads:[~2010-12-08 10:30 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-01 1:57 About the operator "??=" Xu, Dongxiao
2010-12-08 10:30 ` Richard Purdie [this message]
2010-12-08 11:35 ` Tian, Kevin
2010-12-08 11:59 ` Xu, Dongxiao
2010-12-08 14:37 ` Richard Purdie
2010-12-09 3:32 ` Xu, Dongxiao
2010-12-09 4:57 ` Tian, Kevin
2010-12-09 7:59 ` Xu, Dongxiao
2010-12-09 11:24 ` Richard Purdie
2010-12-09 12:13 ` Xu, Dongxiao
2010-12-09 12:45 ` Richard Purdie
2010-12-09 14:44 ` Xu, Dongxiao
2010-12-10 23:42 ` Richard Purdie
2010-12-10 23:58 ` Chris Larson
2010-12-13 16:24 ` Scott Garman
2010-12-11 2:48 ` Xu, Dongxiao
2010-12-08 12:49 ` Tian, Kevin
2010-12-08 13:02 ` Xu, Dongxiao
-- strict thread matches above, loose matches on Subject: below --
2010-12-08 3:00 Xu, Dongxiao
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1291804222.1554.256.camel@rex \
--to=rpurdie@linux.intel.com \
--cc=dongxiao.xu@intel.com \
--cc=poky@yoctoproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.