]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commit
sstate.bbclass: set SSTATE_EXTRAPATHWILDCARD explicitly
authorRobert Yang <liezhi.yang@windriver.com>
Thu, 22 Nov 2018 11:51:59 +0000 (19:51 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 23 Nov 2018 23:35:18 +0000 (23:35 +0000)
commit76276d90ce7fd0effe7c517206472b9dfe0c065c
tree4f39e1151b64e1cad5cccec4ef9fcbd4bb4951f5
parentbdda030127f32040df18501ccd95aac631e2335a
sstate.bbclass: set SSTATE_EXTRAPATHWILDCARD explicitly

The glob.glob("/sstate/*/*/") is very time consuming, set
SSTATE_EXTRAPATHWILDCARD explicity to avoid that. This can save a lot of time
when there are many sstate files.

For example, I have more than 600,000 sstate files:
* Before
  - Without disk caches
  $ time python3 -c 'import glob; glob.glob("/sstate-cache/*/*/sstate:quilt-native:x86_64-linux:0.65:r0:x86_64:3:*_populate_sysroot.tgz*")'
    real    4m32.583s
    user    0m5.768s
    sys     0m12.892s

  - With disk caches
  $ time python3 -c 'import glob; glob.glob("/sstate-cache/*/*/sstate:quilt-native:x86_64-linux:0.65:r0:x86_64:3:*_populate_sysroot.tgz*")'
  real    0m4.111s
  user    0m2.348s
  sys     0m1.756s

* After
  $ time python3 -c 'import glob; glob.glob("/sstate-cache.bak/universal/*/sstate:quilt-native:x86_64-linux:0.65:r0:x86_64:3:*_populate_sysroot.tgz*")'
  - Without disk caches:
  real    0m7.928s
  user    0m0.172s
  sys     0m0.124s

  - With disk caches:
  real    0m0.131s
  user    0m0.088s
  sys     0m0.044s

We can see that it saves about 3.8s with disk caches, and saves about 264s
without disk caches.

(From OE-Core rev: 8b31c919814b8bdf25b3381053656523c001ae0d)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/sstate.bbclass