]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
bitbake: build.py: Only execute mkdirhier if stampdir doesn't exist
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 15 Aug 2012 15:57:47 +0000 (16:57 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 16 Aug 2012 10:19:02 +0000 (11:19 +0100)
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 <richard.purdie@linuxfoundation.org>
bitbake/lib/bb/build.py

index bea292608529e4370bd1716cd1a690fe3b3bd765..d64077ea96b33ccbfe89094deae3d0e9fa540f88 100644 (file)
@@ -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