From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: openembedded-core@lists.openembedded.org
Subject: [PATCH 21/22] package.bbclass: Pre-expand some variables to save time
Date: Sun, 3 Feb 2013 23:55:51 +0000 [thread overview]
Message-ID: <e8a6486cef549bb28ccdab376f73699e1597795c.1359935562.git.richard.purdie@linuxfoundation.org> (raw)
In-Reply-To: <e3d21cd567d7d7bf3df4a349265e0400c583962d.1359935562.git.richard.purdie@linuxfoundation.org>
In-Reply-To: <cover.1359935562.git.richard.purdie@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
meta/classes/package.bbclass | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 2c3f173..2bae65b 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -1798,6 +1798,20 @@ python do_package () {
return
###########################################################################
+ # Optimisations
+ ###########################################################################
+
+ # Contunually rexpanding complex expressions is inefficient, particularly when
+ # we write to the datastore and invalidate the expansion cache. This code
+ # pre-expands some frequently used variables
+
+ def expandVar(x, d):
+ d.setVar(x, d.getVar(x, True))
+
+ for x in 'PN', 'PV', 'BPN', 'TARGET_SYS', 'EXTENDPRAUTO':
+ expandVar(x, d)
+
+ ###########################################################################
# Setup PKGD (from D)
###########################################################################
--
1.7.10.4
next prev parent reply other threads:[~2013-02-04 0:13 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-03 23:55 [PATCH 00/22] Packaging performance improvements, round 2 Richard Purdie
2013-02-03 23:55 ` [PATCH 01/22] package.bbclass: Multithread per file dependency generation code Richard Purdie
2013-02-03 23:55 ` [PATCH 02/22] package: Don't export PATH Richard Purdie
2013-02-03 23:55 ` [PATCH 03/22] package: Process package stripping in parallel Richard Purdie
2013-02-04 17:23 ` Mark Hatle
2013-02-03 23:55 ` [PATCH 04/22] insane.bbclass: Add pkgvarcheck to check for suboptimal usages of variables Richard Purdie
2013-02-03 23:55 ` [PATCH 05/22] insane.bbclass: Add documentation headers for logical code blocks Richard Purdie
2013-02-03 23:55 ` [PATCH 06/22] staging/insane.bbclass: Move legacy do_stage check iinto insane.bbclass Richard Purdie
2013-02-03 23:55 ` [PATCH 07/22] staging.bbclass: Drop unused/legacy function Richard Purdie
2013-02-03 23:55 ` [PATCH 08/22] update-rc.d: Drop OVERRIDES code Richard Purdie
2013-02-03 23:55 ` [PATCH 09/22] qemu: Set RDEPENDS on the specific package that needs it Richard Purdie
2013-02-03 23:55 ` [PATCH 10/22] gdb-cross-canadian: " Richard Purdie
2013-02-03 23:55 ` [PATCH 11/22] initramfs-live-boot: " Richard Purdie
2013-02-03 23:55 ` [PATCH 12/22] package.bbclass: Fix up bb.mkdirhier/bb.copyfile usage Richard Purdie
2013-02-03 23:55 ` [PATCH 13/22] package.bbclass: Rewrite split_and_strip_files Richard Purdie
2013-02-09 11:41 ` Enrico Scholz
2013-02-10 13:50 ` Enrico Scholz
2013-02-03 23:55 ` [PATCH 14/22] kernel.bbclass: Improve populate_packages_prepend Richard Purdie
2013-02-03 23:55 ` [PATCH 15/22] package.bbclass: Make use of cleandirs and dirs function flags Richard Purdie
2013-02-03 23:55 ` [PATCH 16/22] package.bbclass: Various minor performance tweaks Richard Purdie
2013-02-03 23:55 ` [PATCH 17/22] package.bbclass: Simplify empty directory removal Richard Purdie
2013-02-03 23:55 ` [PATCH 18/22] package.bbclass: Add PACKAGESPLITFUNCS variable Richard Purdie
2013-02-03 23:55 ` [PATCH 19/22] sstate/path.py: Add copyhardlinktree() function and use for performance optimisation Richard Purdie
2013-02-03 23:55 ` [PATCH 20/22] package.bbclass: Better document the different phases of operation Richard Purdie
2013-02-03 23:55 ` Richard Purdie [this message]
2013-02-03 23:55 ` [PATCH 22/22] classes: Drop none package specific packaging variable accesses Richard Purdie
2013-02-04 11:41 ` [PATCH 00/22] Packaging performance improvements, round 2 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=e8a6486cef549bb28ccdab376f73699e1597795c.1359935562.git.richard.purdie@linuxfoundation.org \
--to=richard.purdie@linuxfoundation.org \
--cc=openembedded-core@lists.openembedded.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox