Configure Cache Effects on Bash Build

From Yocto Project
Revision as of 06:00, 10 November 2016 by Bavery (talk | contribs) (Created page with "== Building Bash - The experiment == Why bash? Because it has enough pieces to make it interesting (~20-30 minutes on my 36 core workstation) and does not build an image, so I...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Building Bash - The experiment

Why bash? Because it has enough pieces to make it interesting (~20-30 minutes on my 36 core workstation) and does not build an image, so I can ignore the rpm install/pseudo part of the build.

What I did

I have 4 builds, 2 with configure cache's for all the recipes and 2 without. I then used buildstats-diff --multi to compare the averages for cache vs non cache.

The Results

walltime

Ignoring tasks less than 00:05.0 (5.0s)
Ignoring differences less than 00:02.0 (2.0s)
 PKG                       TASK                  ABSDIFF  RELDIFF  WALLTIME1 -> WALLTIME2
 gettext-native            do_configure           -63.7s   -33.6%     189.8s -> 126.1s
 gettext                   do_configure           -45.5s   -29.5%     154.0s -> 108.5s
 bison-native              do_configure           -41.2s   -61.4%      67.2s -> 26.0s
 m4-native                 do_configure           -40.3s   -79.7%      50.6s -> 10.3s
 rpm-native                do_configure           -36.2s   -34.1%     106.2s -> 70.0s
 ncurses-native            do_configure           -26.4s   -70.1%      37.6s -> 11.2s
 python-native             do_configure           -21.5s   -49.3%      43.7s -> 22.2s
 pkgconfig-native          do_configure           -17.1s   -32.7%      52.2s -> 35.1s
 db                        do_configure           -16.7s   -78.9%      21.2s -> 4.5s
 diffutils                 do_configure           -16.6s   -39.0%      42.5s -> 25.9s
 mpfr-native               do_configure           -15.5s   -54.3%      28.6s -> 13.1s
 sed                       do_configure           -13.5s   -49.5%      27.2s -> 13.8s
 python                    do_configure           -12.6s   -36.0%      35.0s -> 22.4s
 db-native                 do_configure           -11.9s   -73.4%      16.2s -> 4.3s
 sqlite3-native            do_configure           -11.3s   -57.9%      19.5s -> 8.2s
 m4                        do_configure           -10.6s   -36.8%      28.8s -> 18.2s
 bash                      do_configure           -10.0s   -53.2%      18.9s -> 8.8s
 xproto-native             do_configure            -9.7s   -58.0%      16.7s -> 7.0s
 file-native               do_configure            -9.1s   -39.6%      23.0s -> 13.9s
 gmp-native                do_configure            -8.2s   -24.1%      34.1s -> 25.8s
 readline-native           do_configure            -7.1s   -55.9%      12.7s -> 5.6s
 linux-libc-headers        do_install              -7.0s   -35.1%      20.0s -> 13.0s
 libtool-native            do_configure            -6.3s   -24.3%      26.0s -> 19.7s
 gawk                      do_configure            -6.2s   -24.1%      25.8s -> 19.6s
 flex                      do_configure            -5.9s   -28.0%      20.9s -> 15.1s
 libpcre-native            do_configure            -5.7s   -27.1%      21.1s -> 15.4s
 elfutils-native           do_configure            -5.7s   -36.1%      15.7s -> 10.0s
 ncurses                   do_configure            -5.6s   -29.5%      19.0s -> 13.4s
 expat-native              do_configure            -5.5s   -31.1%      17.6s -> 12.1s
 gettext-native            do_compile              -4.8s   -12.1%      39.3s -> 34.6s
 prelink-native            do_configure            -4.6s   -26.8%      17.0s -> 12.5s
 gdbm                      do_configure            -4.1s   -24.1%      17.2s -> 13.0s
 flex-native               do_configure            -4.1s   -20.5%      19.9s -> 15.9s
 xz-native                 do_configure            -3.9s   -17.5%      22.6s -> 18.7s
 gmp-native                do_compile              -3.7s   -30.4%      12.1s -> 8.4s
 cross-localedef-native    do_configure            -3.5s   -37.3%       9.5s -> 6.0s
 make                      do_configure            -3.2s   -27.4%      11.5s -> 8.4s
 ossp-uuid-native          do_configure            -2.9s   -23.0%      12.8s -> 9.9s
 perl-native               do_configure            -2.8s    -4.5%      62.7s -> 59.9s
 libtool-cross             do_configure            -2.7s   -17.6%      15.1s -> 12.5s
 ncurses-native            do_populate_sysroot     -2.5s   -30.5%       8.1s -> 5.6s
 readline                  do_configure            -2.4s   -32.0%       7.6s -> 5.1s 
 openssl-native            do_install              -2.3s    -4.7%      50.0s -> 47.6s
 bash                      do_package               2.1s   +44.6%       4.7s -> 6.8s 
 gcc-source-6.2.0          do_patch                 2.3s   +38.9%       6.0s -> 8.4s 
 bash                      do_patch                 2.5s   +50.7%       4.9s -> 7.3s
 openssl                   do_patch                 2.5s   +49.0%       5.0s -> 7.5s
 glibc-locale              do_package_write_rpm     2.5s    +0.8%     298.4s -> 301.0s
 glibc                     do_unpack                2.8s   +33.7%       8.2s -> 11.0s 
 binutils-native           do_unpack                3.0s   +38.4%       7.8s -> 10.8s 
 ncurses-native            do_install               3.3s    +8.7%      37.8s -> 41.1s
 rpm-native                do_patch                 3.4s   +22.8%      15.0s -> 18.4s
 elfutils-native           do_patch                 4.0s   +85.7%       4.6s -> 8.6s
 db                        do_unpack                4.1s  +271.1%       1.5s -> 5.7s 
 libtool-native            do_compile               4.2s   +58.0%       7.2s -> 11.4s
 automake-native           do_populate_sysroot      4.4s  +695.3%       0.6s -> 5.0s 
 glibc-initial             do_patch                 4.5s   +91.0%       5.0s -> 9.5s 
 openssl-native            do_patch                 4.6s   +88.2%       5.2s -> 9.7s
 binutils-native           do_fetch                 5.0s  +143.5%       3.5s -> 8.5s
 cross-localedef-native    do_unpack                5.0s   +78.2%       6.4s -> 11.4s 
 perl-native               do_compile               5.2s   +16.4%      31.7s -> 36.9s 
 binutils-cross-x86_64     do_compile               6.7s   +11.0%      60.7s -> 67.4s 
 gcc-source-6.2.0          do_unpack                7.8s   +18.6%      42.2s -> 50.0s 
 binutils-native           do_compile               8.3s   +14.6%      57.2s -> 65.5s 
 ncurses-native            do_compile               9.1s   +80.1%      11.4s -> 20.5s
 gettext-native            do_install              13.1s   +68.6%      19.0s -> 32.1s
Cumulative walltime:
 -434.5s    -7.9%    1:31:26.8 (5486.8s) -> 1:24:12.2 (5052.2s)


walltime