From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: Alexander Kanavin <alex.kanavin@gmail.com>
Cc: Khem Raj <raj.khem@gmail.com>,
bitbake-devel <bitbake-devel@lists.openembedded.org>
Subject: Re: [bitbake-devel] regression of 'world' performance?
Date: Fri, 09 Feb 2024 16:05:59 +0000 [thread overview]
Message-ID: <829c8fff2e6735297f036fdb878f4d244cf08f91.camel@linuxfoundation.org> (raw)
In-Reply-To: <CANNYZj-V_bH-uVUBXmER30GxMLrfKN6g=pY-VSsgEfT6Fm7e_g@mail.gmail.com>
On Fri, 2024-02-09 at 16:59 +0100, Alexander Kanavin wrote:
> On Fri, 9 Feb 2024 at 16:43, Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
>
> > There is effectively a "main loop" within bitbake, so execute() is
> > meant to do one thing, then return, on the assumption it will get
> > called straight back.
> >
> > Since the "continue" makes it faster, it suggests something else
> > somewhere is being slow and as you mention, there are a load of other
> > code paths which could also have a similar issue.
> >
> > Could you find out where the actual delay is, since it should just hget
> > a call straight back. Or is it the loop iteration itself which is slow?
> > Even with 20k entries, you'd think python would handle that.
>
> It's a combination of having 20k entries, and that the loop stops at
> each of those entries, and returns from execute(), then execute()
> starts again and the loop is restarted from the beginning. So the
> result is processing 20000 entries to the power of two. I inserted the
> timings, iteration counters and additional debug calls into execute()
> specifically to confirm this, and they did.
Iterating 28k entries isn't an issue for python. Yes, it will be "slow"
when you put logging around it but I doubt it is the real problem.
What is more likely is one of the calls like:
self.check_dependencies(xxx)
getting called once per entry and that call being slow.
Can you try the profile -P data please. If it doesn't make sense, share
it somewhere and I'll take a look.
Cheers,
Richard
next prev parent reply other threads:[~2024-02-09 16:06 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-12 10:57 regression of 'world' performance? Alexander Kanavin
2024-01-12 12:13 ` [bitbake-devel] " Richard Purdie
2024-01-12 12:27 ` Alexander Kanavin
2024-01-12 22:19 ` Khem Raj
2024-02-09 15:23 ` Alexander Kanavin
2024-02-09 15:43 ` Richard Purdie
2024-02-09 15:59 ` Alexander Kanavin
2024-02-09 16:05 ` Richard Purdie [this message]
2024-02-09 16:16 ` Alexander Kanavin
2024-02-09 16:22 ` Richard Purdie
2024-02-09 17:02 ` Alexander Kanavin
[not found] ` <17B24084174823DE.15017@lists.openembedded.org>
2024-02-09 20:44 ` Alexander Kanavin
2024-02-09 21:43 ` chris.laplante
2024-02-09 22:50 ` chris.laplante
2024-02-09 23:33 ` Richard Purdie
[not found] ` <17B255DB2CE33879.588@lists.openembedded.org>
2024-02-09 23:59 ` Richard Purdie
[not found] ` <17B257441406400D.588@lists.openembedded.org>
2024-02-10 15:16 ` Richard Purdie
[not found] ` <17B2894C95E031D0.14481@lists.openembedded.org>
2024-02-10 20:42 ` Richard Purdie
[not found] ` <17B29B2072FF51A8.14481@lists.openembedded.org>
2024-02-10 20:52 ` Richard Purdie
2024-02-12 12:58 ` Alexander Kanavin
2024-02-13 8:57 ` Richard Purdie
2024-02-13 9:42 ` Alexander Kanavin
2024-02-13 12:41 ` Richard Purdie
2024-02-14 6:59 ` Alexander Kanavin
2024-02-14 8:05 ` Richard Purdie
2024-02-13 10:49 ` Ross Burton
2024-02-13 12:31 ` Richard Purdie
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=829c8fff2e6735297f036fdb878f4d244cf08f91.camel@linuxfoundation.org \
--to=richard.purdie@linuxfoundation.org \
--cc=alex.kanavin@gmail.com \
--cc=bitbake-devel@lists.openembedded.org \
--cc=raj.khem@gmail.com \
/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.