From 2718537b4b04eb3d80ab4d74171b58e7b8dd68b8 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Wed, 15 Aug 2012 16:57:47 +0100 Subject: bitbake: build.py: Only execute mkdirhier if stampdir doesn't exist I noticed this was showing up on profile logs as a sigificant time user in "bitbake bash" when bash was already built. It reduces the time from 5.2 to 4.5 seconds in my test environment. We make use of the parser's mtime cache as once a directory exists, we can assume it continues to exist and this avoids syscalls. (Bitbake rev: 769b694eeb617bb793bd79d0d7b29c43d2646ece) Signed-off-by: Richard Purdie --- bitbake/lib/bb/build.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'bitbake/lib') diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py index bea2926085..d64077ea96 100644 --- a/bitbake/lib/bb/build.py +++ b/bitbake/lib/bb/build.py @@ -464,7 +464,9 @@ def stamp_internal(taskname, d, file_name): stamp = bb.parse.siggen.stampfile(stamp, file_name, taskname, extrainfo) - bb.utils.mkdirhier(os.path.dirname(stamp)) + stampdir = os.path.dirname(stamp) + if bb.parse.cached_mtime_noerror == 0: + bb.utils.mkdirhier(stampdir) return stamp -- cgit v1.2.3-54-g00ecf